Gestión recursiva de dependencias: más inteligente, más profunda, más segura

Tras el lanzamiento de la regla Follow 4D version, estamos encantados de introducir un nuevo nivel de automatización y fiabilidad en 4D 20 R10: resolución de dependencias totalmente recursiva.

Ya sea que esté agregando, actualizando o eliminando un componente, el Administrador de dependencias ahora actúa recursivamente, asegurando que cada acción que tome se refleje con precisión en todo su árbol de dependencias.

Una acción, todas las dependencias

Cuando añade una dependencia primaria, desde GitHub o una carpeta local, 4D:

  • Carga recursivamente todas las dependencias que requiere
  • Aplica las restricciones de versión definidas en su dependencies.json.

No hay necesidad de preocuparse por piezas faltantes o versiones incompatibles, su árbol de dependencias completo se resuelve y carga automáticamente.

Gestión recursiva de versiones

Cuando varios componentes requieren diferentes versiones de la misma dependencia:

  • El Gestor de dependencias comprueba los rangos requeridos y elige una versión que satisfaga todas las restricciones, cuando sea posible
  • Si una versión se declara directamente como dependencia primaria, esa versión tiene prioridad sobre las versiones requeridas indirectamente.

Este enfoque mantiene su entorno estable y coherente, incluso a medida que crece su proyecto.

Una interfaz de usuario que refleja la estructura completa

La interfaz de dependencias del proyecto se ha actualizado para mostrar la naturaleza recursiva de las dependencias del proyecto:

  • Pestaña «All»: muestra una lista plana de todas las dependencias (tanto primarias como secundarias) utilizadas en su proyecto.
  • Pestaña «Declared»: una nueva sección entre «All» y «Active» que enumera sólo las dependencias que ha declarado explícitamente en dependencies.json.
  • Las dependencias secundarias están claramente marcadas y, al pasar el ratón sobre una de ellas, un mensaje revela qué componente o componentes la necesitan. Todo es transparente.

Realice una acción – 4D se encarga del resto

Cada cambio que realice, ya sea añadir, eliminar o actualizar un componente, se propaga ahora recursivamente a través de todo su gráfico de dependencias.

Usted se beneficia de:

  • Carga automática de las subdependencias necesarias
  • Resolución inteligente de versiones con reglas de precedencia claras
  • Eliminación segura con conocimiento del impacto
  • Una interfaz de usuario que refleja la estructura real de su proyecto

PARA DESARROLLADORES DE COMPONENTES

Si está desarrollando sus propios componentes, puede que se pregunte: ¿cómo declaro mis dependencias? Cada componente debe incluir su propio archivo dependencies.json. Este archivo especifica las dependencias necesarias para que el componente funcione correctamente, junto con sus restricciones de versión.

Este mecanismo funciona tanto con las dependencias locales como con las alojadas en GitHub. Sin embargo, para una mejor portabilidad y compartición, el uso de GitHub se considera la mejor práctica. Cuando construya un componente, asegúrese de que el archivo dependencies.json está incluido en el paquete final. El soporte completo para esta funcionalidad está disponible a partir de 4D 20 R10. Si está trabajando con componentes más antiguos, necesitará reconstruirlos para aprovechar la resolución recursiva automática.

Pruébelo ahora y experimente una forma más inteligente y rápida de gestionar sus dependencias, y dedique menos tiempo a la resolución de problemas.

 

David Azancot
• Propietario de Producto 4D for iOS - David Azancot se unió al equipo de Producto 4D como Propietario de Producto en 2017. Está a cargo de escribir las historias de usuario y traducirlas en especificaciones funcionales. Su papel también incluye asegurarse de que las implementaciones de funcionalidades satisfagan las necesidades de los clientes. David se graduó con un MBA en Mercadeo, Internet y Movilidad en el Instituto Leonard De Vinci y comenzó su carrera en 2011 con una empresa móvil de nueva creación, posteriormente adquirida por Madvertise (un grupo de mercadeo móvil). Apasionado de las interfaces móviles, fue la elección natural para desarrollar formatos de anuncios móviles interactivos para el grupo en 2015. Paralelamente, David desarrolla sus propias aplicaciones para iOS y Android desde 2012.