PlantCare creó una app multidispositivo con Sketch y GeneXus en tiempo récord
Si estás pensando en que: crear una aplicación en dos meses, en la que su front end luzca espectacular, y que, a su vez, sea compatible con iOS, Android y Angular, parece algo irreal… ¡entonces seguí leyendo porque es posible!
PlantCare se trata de un ejemplo de una app para un sistema de e-commerce, basado en una tienda online de venta de plantas de interior y exterior. La KB está licenciada bajo Apache 2.0, por la que la puedes bajar y usar como base de tus proyectos.
Los requerimientos eran:
- Tener un diseño atractivo, a la altura de las aplicaciones profesionales en las tiendas oficiales.
- Funcionar eficientemente en iOS, Android (Phone y Tablet) y Angular (Phone y Desktop).
- Backoffice de gestión de artículos.
- Procesos batch para la importación de datos de prueba.
- Test unitarios de procesos principales.
- Documentación.
- 3 meses de plazo.
Cuando se me presentó el proyecto, a simple vista no veía tan viable que se pudiera realizar en menos de dos meses. Más aún con la experiencia previa en el desarrollo de aplicaciones móviles y sus diferencias entre plataformas. Sumado a esto, está la incorporación del nuevo generador Angular con lo que conlleva.
Luego, al avanzar en la planificación me di cuenta que sería parte de un equipo de trabajo en el que me encargaría del desarrollo, Natalia Rudomin realizando el diseño y Mauro Canziani supervisándolo, Damian Salvia trabajando junto con Natalia y conmigo para que la importación de Sketch a GeneXus sea lo más limpia posible; Martín Torrado atrapando issues, y Armin Bachmann liderando el equipo. Claramente, ¡ahora sí tenía sentido que podríamos llegar al plazo con un proyecto exitoso!
Sumado a lo anterior, el diseño no lo tenía que desarrollar desde cero, sino que me brindaron un archivo de Scketch, el cual se importó en GeneXus. Ésto creó de forma automática los paneles necesarios junto con sus distintos layouts. Claro que no fue importar y ejecutar, se tuvieron que realizar mínimas correcciones, pero muy alejado del trabajo que hubiera llevado hacer todo a mano.
Ahora mi preocupación era el tiempo que llevaría que funcionara de forma similar en las tres plataformas y en distintos dispositivos. Por mi experiencia previa, hablando de aplicaciones con UIs modernas y profesionales, se invierte demasiado tiempo en pequeñas diferencias visuales y de comportamiento.
En este punto, fue una sorpresa agradable ver que, en los últimos upgrades, ésto no fue un dolor de cabeza, sino que se tuvieron que realizar ajustes mínimos esperables por las diferencias de funcionamiento de las plataformas y sus guías.
En conclusión, con este equipazo, al que agradezco su compromiso y haber sido parte, logramos finalizar el proyecto en menos de tres meses, y creando una app multi-dispositivo que funciona y se ve ¡espectacular!
Algunas notas que pude sacar del proyecto:
- Cuando desarrollamos este tipo de apps, si queremos competir en el mercado de las stores, es importante invertir en un diseño profesional.
- En base a lo anterior, para que los programadores seamos más productivos, probar la importación de Sketch o Figma.
- Utilizar stencils para objetos de UI repetitivos y sin lógica, acelera el desarrollo.
- Test Unitarios … no estoy comentando nada nuevo, pero un mínimo esfuerzo en este sentido permite automatizar las pruebas en el ciclo CI y detectar errores de forma temprana.
- Si se está en dudas de incorporar una nueva plataforma de frontend en GeneXus, las preocupaciones normalmente son sobredimensionadas. La prueba es sencilla y el resultado seguramente será satisfactorio, tal vez algunos ajustes menores.
¿Deseas conocer más de GeneXus?
Escríbenos para solicitar una demo