Framework PHP: Yii2
Yii2 es un entorno de programación orientada a objetos basado en el MCV (Modelo Controlador Vista) para el desarrollo de aplicaciones en PHP y software libre. La idea era realizar un pequeño proyecto con la finalidad de aprender la base de funcionamiento del framework y calibrar las bondades y dificultades de su adopción como plataforma de trabajo para el desarrollo de una futura aplicación más ambiciosa y compleja.
Después de varias semanas trasteando con él, los resultados son esperanzadores y me gustaría compartir algunas de las bondades que he ido descubriendo.
En primer lugar, integra múltiples tecnologías como jQuery o Bootstrap, que facilitan el desarrollo incorporando elementos Javascript, HTML y CSS en nuestro proyecto. Y más importante, fuerza a trabajar en un modelo MCV, de manera que tenemos una separación de código entre el modelo, el controlador y la visualización. De esta manera, los proyectos complejos se pueden abordar de manera más sencilla, permitiendo cooperar con otros desarrolladores y en general, obeniendo un código más legible y ordenado.
Yii permite partir de una plantilla simple de aplicación que es directamente un frontend, o de una avanzada que separa los componentes en front y backend permitiendo gestionar de forma diferenciada el frontal que van a utilizar los clientes como el backend que incorporará las herramientas de gestión para los administradores. A partir de cualquiera de estas plantillas vamos a ir personalizando y construyendo nuestra aplicación.
También destacable, la herramienta CRUD que permite construir de forma automática los modelos base a partir de la estructura de base de datos o las posibilidades de integrar códigos habituales como pueda ser el sistema de permisos RBAC. De manera que a través de componentes de terceros o módulos prediseñados podemos rentabilizar el código en otras aplicaciones sin demasiados problemas.
La única desventaja es la falta de experiencia en el uso de la potencia del framework y el desconocimiento de su API, a la que hay que dedicar algún tiempo para familiarizarse con la documentación y comenzar a obtener resultados. En definitiva, una herramienta interesante a la que seguramente dedicaré más tiempo en el futuro.