WordPress

Desarrollando Zebra Framework para mis proyectos

By 27 octubre, 2016 noviembre 21st, 2016 No Comments

Hace ya mucho tiempo que me encuentro con la misma història. Aparece un proyecto de un cliente que quiere desarrollar una herramienta en la nube. Digamos que la herramienta que quiere desarrollar es una intranet para gestionar una base de datos de usuarios/clientes para que puedan ver los reportes que realiza la empresa. Vemoslo con más detalle…

Definición del proyecto

El proyecto trata sobre una herramienta en la nube la cual los usuarios/clientes pueden acceder a ella iniciando sessión y ver los informes que la empresa ha generado para ella. Los informes seran las tareas que la empresa haya desarrollado.

Esquematizando el proyecto

database

Así pues digamos que el administrador podria crear otros usuarios/clientes y los clientes podrian visualizar las tareas de sus proyectos que los administradores de la herramientas entraran en cada proyecto. Bien, para eso muchos desarrolladores entramos en debates de si eso se puede realizar en WordPress, Drupal, Joomla, CodeIgniter, Laravel, Symfony…y ahí empieza la batalla de cuál és mejor que otro, para mi realizar este tipo de proyectos en WordPress sin saber porqué me parece algo estraño. Por otro lado como muchos bien dicen cada proyecto tiene un encaje mejor para una u otra herramienta.

Entonces, para el proyecto que hemos descrito en este artículo ¿Cuál es la mejor herramienta?

Analizémoslo en tres grandes grupos

WordPress, Joomla y Drupal

Este tipo de herramientas que no dejan de ser tambien frameworks de desarrollo web en mi opinión son geniales para el desarrollo de webs corporativas en las que la gestión del contenido és la clave. Aunque realmente y tecnicamente puedes desarrollar en ella cualquier tipo de funcionalidad (incluso el proyecto del que estamos hablando) descarto esta opción.

Laravel, Symfony y Zend Framework

Estos son los frameworks más recientes y los que han podido revolucionar el desarrollo de PHP en los últimos tiempos. Uno de los inconvenientes que le veo a este grupo es que no estan pensados para trabajar en alojamientos compartidos, necesitan de un servidor propio (o una maquina virtual) y para el cliente medio tener que pagar el mantenimiento de eso a veces es una pega. Por otro lado si bien es cierto que con cualquier de ellos puedes realizar el proyecto en questión sin problemas y incluso de la mejor forma posible descarto esta opción.

CodeIgniter, Yii, CakePHP

Este grupo aunque menos moderno que el grupo anterior siguen siendo los más veteranos en desarrollo web. La facilidad de uso y la inmediatez son la clave de estas herramientas así que este grupo es el elegido.

Aunque por ejemplo Laravel Framework, del segundo grup està más actualizado en todos los sentidos el framework CodeIgniter no deja de ser un framework robusto y a la vez simple y fàcil de iniciar su única pega desde mi punto de vista y la de muchos otros desarrolladores es su ORM ActiveRecord que deja mucho que desear. Aún así como todo existen alternativas y en este caso también la hay para ello la combinación de Codeigniter + DataMapper es una de las mejores combinaciones, este magnífico ORM DataMapper permite realizar peticiones de todo tipo a la base de datos de una forma elegante y sin complicaciones.

Así pues, ¿lo que yo hice fué desarrollar un Framework? Pues no, ya existen muchos en la red como para añadir otro más. Lo que hice simplemente fue de la combinación de esas dos potentes herramientas CodeIgniter + ORM DataMapper desarrollé un proyecto prototipo con CRUD modular desde el cual poder desarrollar todo tipo de herramientas de una forma más rápida. Basicamente porque las funcionalidades que tienen en común estas herramientas (registro de usuarios, inicio sesión, listado de objetos, crud de objetos…) ya estan hechas, sólo me queda desarrollar las funcionalidades específicas del cliente.

¿Quieres provar el framework? Escríbeme por correo electrónico y te lo envío.

Met El Idrissi

Met El Idrissi

Desarrollador web WordPress freelance y emprendedor tecnológico en aplicaciones web SaaS

Leave a Reply