Symfony2 primeras impresiones

Written by

Hace mas o menos un par de semanas que se ha publicado la primera versión estable de Symfony2 y he aprovechado para hacer algunas pruebas de concepto.

La primera impresión es que aun esta un poco verde en algunos aspectos, sobre todo comparándolo con las ramas 1.2 y 1.4 que estaban evidentemente mucho mas rodadas.

El framework de formularios no me disgusta tanto como el de la version 1.4 (que era bastante enrevesado) pero sigue sin convencerme del todo, ¿No se puede validar una entidad directamente, siempre hay que asociarla a un formulario? no he encontrado la respuesta. Seguramente se pueda y yo no he sido capaz de encontrar la información necesaria para implementarlo.

La documentación esta bien para dar los primeros pasos, pero en cuanto te metes en poco en cosas mas complejos se queda muy corta, aunque esto es normal a priori y seguramente en unos meses existirá mas documentación especifica.

Me gusta su ligereza; es mucho mas liviano, a nivel de ficheros y directorios que las versiones anteriores, en las que te podías perder fácilmente si estabas empezando a desarrollar en Symfony. El concepto de bundle, independizando el código (extraído de otros frameworks) me parece muy acertado.

La adopción de Twig como sistemas de platillas por defecto también me parece correcto, además si no te convence, utilizar plantillas en PHP es trivial. Twig es sencillo de manejar y bastante potente, además las personas que vengan del mundo python/Django se adaptaran fácilmente pues la sintaxis es un calco de la de Django Template.

Doctrine2 es un ORM cada día mas potente y cercano a sus hermanos de Java y otras tecnologías, pero como sus hermanos, adolece de ciertos comportamientos extraños. Es necesario orientar el diseño al Modelo (entidades) si quieres llegar a utilizar todas las características del ORM. Me gusta.

En principio tampoco he podido probar muchas cosas, pero por ahora tiene muy buena pinta, aun le falta tiempo, y necesita un par de meses o tres para asentarse un poco.