Frameworks web
escrito el 25 de Agosto de 2008 por Sebastián Romano
En el desarrollo web se entrelazan varias tecnologías (base de datos, XHTML, Javascript, Flash, XML, etc) y problemas comunes (internacionalización, codificación, flexibilidad de la estructura de datos, etc) . Los frameworks se encargan de manejar las tecnologías involucradas y brindar soluciones para facilitar el desarrollo.
Es así que nos proveen:
- Independencia del motor de base de datos que usemos
- Generadores de código XHTML
- Soluciones Javascript integradas
- Motor de plantillas
- Librerías para internacionalización
- Modelo orientado a objetos para facilitar el manejo de datos
- Etc.
Más allá de estas bondades que sin duda mejoran la productividad, el hacer uso de un framework mejora el trabajo en equipo ya que todos hablamos el mismo idioma y las aplicaciones muestran siempre la misma estructura.
La variedad de frameworks es bastante grande por tanto tuvimos que realizar un pequeño análisis de los más usados para llegar al que usamos actualmente.
El otro Seba probó CodeIgniter si bien era liviano y simple le faltaban mejoras en cuanto al modelo de datos, la documentación era muy buena.
Personalmente me tocó probar Symfony, con más fama ya que Yahoo! lo estaba usando para alguno de sus nuevos proyectos. La documentación es muy buena, personalmente creo que es el más poderoso y completo. Al ser tan completo para nuestro caso tenía dos desventajas:
- Larga curva de aprendizaje.
- Los proyectos web por lo general no tienen una gran envergadura, por tanto la complejidad termina siendo excesiva.
Fue así que le tocó el turno a CakePHP. Lo comenzamos a usar en su versión 1.1 con muchas deficiencias y muy muy poca documentación. Aún así nos atrajo su facilidad de uso y la rapidez con que se aprende.
Por estos días se publicó la RC 1.2, la misma ha tenido muchas mejoras y sobre todo los líderes del proyecto vieron que uno de los principales problemas era la documentación y también está mejorada.
CakePHP nos brinda:
- Independencia del motor de base de datos
- Fácil realización del modelo de datos con relaciones entre tablas.
- Modelo de datos orientado a objeto, la forma utilizada es de simple entendimiento por lo que se asimila rápidamente.
- Integra soluciones Javascript / AJAX.
- Manejo de plantillas y caché.
- Internacionalización totalmente integrada.
- Validación de datos.
- Ruteo dinámico y flexible.
Hemos realizado sitios con estructuras de datos básicas y sitios complejos con administración de pedidos, productos, categorías, etc. para todos los casos CakePHP nos ha brindado una solución efectiva.
2 comentarios en este artículo
estuve investigando un poco la frames y me he decidio por symfony, pero tu dices que la curva de aprendizaje es mayor que la de cake, que tan sencillo te ha parecido cake? no he visto cake, pero si comencé con symfony y realmente es extenso,
erama
#1 Escrito el 24 de Mayo de 2009 a las 11:09 pm.
erama, nosotros usamos cakephp actualmente para nuestros desarrollos, va muy bien. Es muy rápido de configurar y fácil para utilizar. En el momento que hicimos el relevamiento de frameworks fue el que más se adaptó a nuestras necesidades.
Symfony si bien parecía más potente era muy complicado a la hora de configurarlo, demasiado para los tiempos que tenemos en el desarrollo de sitios web. Quizá sea lo indicado para crear aplicaciones web.
Gracias por tu comentario y estamos en contacto!
Sebastián Romano
#2 Escrito el 27 de Mayo de 2009 a las 9:35 am.
Deja una respuesta