Dentro de una compañía la agilidad, eficiencia y, en la medida de lo posible, la homogeneidad en las aplicaciones es fundamental para el desarrollo de nuevas aplicaciones, evolutivos en los desarrollos y experiencia de los usuarios.
Para ello es muy importante tener arquetipos para nuevos proyectos, así como, una guía de estilos para garantizar una cierta homogeneidad en la apariencia de las aplicaciones y que los usuarios que las empleen estén familiarizados con las interfaces, aunque sean aplicaciones completamente distintas.
¿Qué es un arquetipo?
Un arquetipo no es más que un modelo original que sirve como pauta para imitarlo, reproducirlo o copiarlo.
En programación, un arquetipo es una plantilla que sirve como patrón para la creación de cualquier proyecto.
Un arquetipo guía al desarrollador como modelo para construir un nuevo proyecto con una estructura ya definida, así como poder reutilizar código incluido en éste. Debe ser un proyecto que se pueda arrancar con las funcionalidades base para la compañía.
Para los compañeros que se incorporen nuevos a la compañía llega a ser muy sencillo crear un nuevo proyecto, siguiendo la estructura definida en la compañía y funcionalidades comunes ya creadas.
¿Qué incluir en arquetipos?
Lo primero que debemos definir es la organización de paquetes de software que lo componen para que todos los proyectos sigan la misma estructura. Esto nos ayudará al mantenimiento de cada proyecto.
Deberemos incluir todas las librerías necesarias, así como su configuración para ser utilizadas, e implementar funcionalidades comunes que deban tener todas las aplicaciones.
Algo muy importante es incluir un readme detallado, para que cualquier usuario pueda configurar un nuevo proyecto y arrancarlo sin problemas.
Uso de arquetipos
Con el uso de arquetipos podremos garantizar que todas las aplicaciones tengan la misma estructura inicial.
Es muy útil para ahorrar tiempo en creación de nuevas aplicaciones, ya que si se dispone de funcionalidad propia que deba estar presente en todas las aplicaciones, como puede ser la implementación de seguridad propia, ya vendrá implementada, así como funcionalidades comunes como escucha de mensajes de RabbitMQ, envío de emails, …
Un arquetipo no es un proyecto cerrado, ya que a medida que se implemente funcionalidad nueva que se deban incluir en aplicaciones nuevas, se debe añadir esta funcionalidad al arquetipo para que el resto de aplicaciones que se creen a partir de él, tengan esta funcionalidad implementada.
En el caso de detectar alguna vulnerabilidad con las librerías utilizadas en el arquetipo se corrijan, a medida que se crean aplicaciones nuevas. Así como actualizaciones que se vayan implementando como versiones de angular, vue.js, java, …
Creación de nuevos proyectos
Para la creación de un nuevo proyecto por parte de un desarrollador, tan solo deberá clonar el proyecto del repositorio de la compañía, aplicar los cambios de configuración indicados en el propio readme del proyecto y por último volcar el proyecto al repositorio de la compañía como un nuevo proyecto.
Con estos sencillos pasos, cualquier desarrollador podrá arrancar un nuevo proyecto en muy poco tiempo.