Simplificar la gestión de componentes en 4D

En el contexto del desarrollo 4D, la gestión de componentes suele implicar una cantidad de trabajo considerable. Sin embargo, la introducción de la función Component Manager en el entorno 4D representa un avance significativo en la gestión de componentes.

Ya no se limita a la colocación de componentes en una carpeta Components designada, esta funcionalidad se basa en dos elementos clave: dependencies.json y environment4d.json. Estos archivos ofrecen a los desarrolladores una mejor visibilidad de las dependencias de la aplicación y la flexibilidad de personalizar las rutas de los componentes.

Gestión de componentes

Una interfaz de gestión de COMPONENTES en desarrollo

Antes de entrar en materia, le informamos de que actualmente puede visualizar los componentes 4D y los componentes de la carpeta Componentes de su proyecto en la nueva pantalla Dependencias del proyecto a la que puede acceder desde el menú Diseño.

Esta pantalla no sólo le permite ver las dependencias de su proyecto, sino que pronto le permitirá añadir nuevas y gestionarlas.

Gestión estructurada con dependencies.json

La gestión de componentes se orquesta a través de dependencies.json, un archivo manifiesto que lista los componentes que utiliza su aplicación. Este archivo manifiesto garantiza una estructura clara para la gestión de dependencias, simplificando la carga de estos elementos cruciales.

La ventaja es que todos sus proyectos se mantienen en una estructura plana (como a través de GitHub Desktop), eliminando la necesidad de alias o de crear copias duplicadas, especialmente cuando se trata de componentes interdependientes.

Ejemplo dependencies.json:

{
	"dependencies": {
		"MyComponent" : {}
	}
}

En este ejemplo, MyComponent, que es el componente que queremos cargar, se encuentra junto a la carpeta package.

Personalización con environment4d.json

Si la ruta predeterminada (junto a la carpeta package) no es conveniente, aún es posible definir las rutas de los componentes en un archivo de entorno de trabajo personal. El archivo environment4d.json permite personalizar el entorno. Al especificar rutas absolutas o relativas a los componentes, este manifiesto ofrece una adaptabilidad apreciable para satisfacer las necesidades específicas de cada proyecto.

El beneficio directo es que cada desarrollador puede tener su archivo de entorno en una carpeta padre de la base de datos, lo que le permite decidir no confirmarlo, por ejemplo, y adaptarse a su organización en disco.

Ejemplo environment4d.json:

{
	"dependencies": {
		"myComponent1" : "../MyComponent1",
		"myComponent2" : "./MyComponent2",
                "myComponent3" : "file:///Users/jean/MyComponent3"
    }
}

Gestión práctica para desarrolladores

Si environment4d.json está ausente para una dependencia dada o si este archivo carece de información sobre una dependencia listada en dependencies.json, 4D utiliza el nombre mencionado en dependencies.json para recuperar la dependencia junto a la carpeta del paquete.

blank

Obtener el estado de todos sus componentes en un solo lugar

En la pantalla de dependencias del proyecto, también podrá ver los componentes declarados en dependencies.json y environment4d.json y obtener información de cada dependencia, como el nombre, la fuente y el acceso a la dependencia en disco, así como el estado de la dependencia: si existe un conflicto con otra dependencia, si la dependencia se ha cargado correctamente y porqué en caso contrario.

blank

La función Component Manager representa un avance notable en el ecosistema 4D. Al aprovechar dependencies.json y environment4d.json, este nuevo enfoque ofrece a los desarrolladores un mayor control sobre la gestión de componentes. De un vistazo a la documentación para más detalles, y permanezca atento a las próximas actualizaciones sobre el gestor de componentes.

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.