Resulta tedioso "reinventar la rueda" en cada proyecto software: diseñar la arquitectura de la aplicación,
los criterios de búsqueda en los datos, el interfaz de
manejo de los datos, el diseño web, los estilos, el módulo de acceso (permisos/perfiles) a la aplicación, etc.
Si a esto le añadimos que el 80% del código de un proyecto es código repetitivo empleado para gestionar los datos y las transacciones,
y que solo 20% se emplea en hacer la lógica de negocio, algunos cálculos, algunas transformaciones de datos y poco más... se llega
rápidamente a la conclusión de que hay que hacer algo para mejorar las cosas.
La pregunta que muchas veces nos hacemos es ¿No habrá alguna aplicación que genere de forma automática este código tedioso y repetitivo?. La buena noticia es que sí que existen, la mala noticia es que son muy cerrados, poco amigos de los programadores, son poco flexibles y difíciles de adaptar a las nuevas necesidades que se plantean con el tiempo.
Es por ello que estamos desarrollando el proyecto KodeGenration, que es un generador de código que genera el 80% del código tedioso y permite a los desarrolladores de indizen trabajar en el refinamiento del código generado y en ese 20% restante que es necesario desarrollar una aplicación Web típica con Java.
KodeGeneration es un proyecto de indizen labs que tiene como objetivo la generación automática de código fuente para crear el esqueleto de aplicaciones web que tengan que acceder a una base de datos y que usen java para la programación del interfaz gráfico y toda la lógica de la aplicación.
La idea es generar de forma automática el código repetitivo tanto de los componentes que realizar las operaciones CRUD (Create, Read, Update, Delete), como los componentes de interfaz web que gestión de los datos.
El código generado proporciona soporte para todas las operaciones CRUD y un interfaz web vista-detalle para la gestión de los datos, y está basado en una arquitectura orientada a servicios que es muy fácil de mantener y extender.
Su finalidad es mejorar los tiempos de desarrollo y de “startup” de aplicaciones y de servir como espacio de entrenamiento para la gente que se incorpora a los iLabs
Versión 1
Versión 2
Versión 3