Contexto
tugesto es una gestoría digital para la que ya habíamos llevado su portal de empleado al móvil — es el primer encargo, y salió bien. Volvieron con dos más: nativizar el escritorio con el que trabaja su propio equipo, y construir una aplicación de facturación que no existía en ninguna parte.
El reto
Los dos encargos plantean problemas opuestos. El escritorio es una herramienta madura, en uso diario y en evolución constante: pararla para reescribirla no era viable. La app de facturación era justo lo contrario, un producto sin nada previo que aprovechar.
Aplicar la misma receta a los dos habría salido mal en ambos: reescribir el escritorio de golpe habría dejado al cliente meses sin ver nada, y encapsular una web de facturación que no existía era imposible.
Qué hicimos
tugesto Escritorio — la versión nativa de su herramienta principal de trabajo, con arquitectura híbrida: lo ya implementado se ejecuta de forma nativa en local y el resto de funciones siguen accesibles vía contenedor web mientras avanza el desarrollo por fases.
App de facturación de tugesto — aplicación nativa para iOS y Android con facturación, presupuestos y reconocimiento óptico de tickets. Arquitectura por funcionalidades con capas separadas de datos, dominio y presentación, cliente HTTP generado a partir de la especificación OpenAPI del cliente, almacenamiento seguro de credenciales, autenticación delegada y batería de tests unitarios y de interfaz.
Por qué así
En el escritorio la decisión fue nativizar por partes en lugar de de golpe. Una migración completa habría obligado al cliente a esperar meses sin ver nada y a mantener dos herramientas en paralelo mientras tanto; por fases, lo que más se usa se vuelve nativo primero y el resto sigue funcionando sin interrupción.
En la app de facturación el criterio se invierte a propósito. Sin una web madura que encapsular, encapsular no ahorra nada, así que se construyó nativa desde el principio. La pieza que más ahorra ahí es generar el cliente HTTP desde el contrato OpenAPI en vez de escribirlo a mano: el backend y la aplicación avanzan sin desincronizarse y nadie define cada endpoint dos veces.
Resultado
La app de facturación está publicada en iOS y Android; el escritorio nativo avanza por fases. Sumadas al portal de empleado, son tres aplicaciones para el mismo cliente en tres encargos distintos: empezamos encapsulando su web y hemos terminado construyéndoles producto nativo desde cero, que es la señal más clara que puede dar un cliente.