El próximo 5 de Marzo de 2011, si todo va bien, se publicará la versión final de Symfony2 (se anunciará durante el evento Symfony Live 2011 que tendrá lugar en París del 2 al 5 de Marzo). Mientras tanto, ¿qué podemos ir haciendo?
A pesar de que Symfony2 aún está en su fase de desarrollo la versión que nos ofrecen actualmente es bastante estable y completamente funcional. Además existe ya mucha documentación, eso sí, en inglés y a veces sin actualizar con los últimos cambios (aún así la documentación es mejor de la que nos ofrecen algunos otros frameworks que se supone que están terminados).
Si queremos iniciarnos con este framework, lo más fácil es echar una ojeada al Quick Tour (aquí lo tenéis en castellano, cortesía de Francisco Belmonte Ruiz), que comienza con la descarga del Sandbox, un pequeño proyecto con el típico “Hola Mundo”.
Para ponernos a trabajar es necesario tener una versión de PHP superior a la 5.3.2 (en mi caso he instalado la última versión de WampServer2). Si trabajáis en Windows, recordad poner la ruta al ejecutable de PHP en el Path para poder ejecutar los comandos desde la consola. Y para ser más productivos, seguiremos utilizando NetBeans como IDE de desarrollo. De momento Netbeans no trae incorporado el soporte a Symfony2 como sí hacía con la versión anterior, pero no notaremos mucha diferencia salvo que tendremos que salir del IDE para ejecutar los comandos por consola, tan sólo tenemos que crear un nuevo proyecto desde el código fuente existente del Sandbox y ya podremos ponernos a trabajar.
Para acostumbrarnos a las buenas prácticas desde un principio, es aconsejable que nos familiaricemos con dos herramientas vitales para el desarrollo: Git (echa un vistazo a esta documentación) y PHPUnit (que además podremos integrarlo en Netbeans). Si ya venías utilizando Subversion para el versionado de código y Lime para la realización de las pruebas automáticas, el cambio no te supondrá demasiado esfuerzo y si nunca habías utilizado herramientas de este estilo, ¿a qué estabas esperando?
Ya tenemos nuestro entorno preparado para ser lo más productivos posibles desde el primer día, así que lo mejor será que empecemos a estudiar algunos de los conceptos clave de nuestro nuevo framework. Desde mi punto de vista, lo más destacable de Symfony2 es su nueva arquitectura con la organización en Bundles (echa un vistazo a esta página) y el contenedor de inyección de dependencias (DIC, aquí puedes introducirte al este concepto). Si dominamos estos dos conceptos, el desarrollo con Symfony2 se nos hará mucho más sencillo.
Y para el final dejo otras dos de las características que van a dar un salto de calidad (tanto en rendimiento como en productividad) a nuestros desarrollos: Twig y Doctrine2.
Twig es un motor de plantillas que es el que se va a utilizar por defecto en Symfony2, aunque siempre tendremos la posibilidad de seguir utilizando nuestras plantillas en PHP. Si vamos a trabajar con Netbeans sería interesante que asocies la extensión .twig con el tipo de archivos HTML para que te funcione el resaltador de sintaxis.
Por su parte, Doctrine2 es la nueva versión del ORM que ya se convirtió en el preferido por los desarrolladores de Symfony en su versión anterior.
Esto es todo, de aquí al 5 de Marzo hay muchas cosas que aprender, ¿no te parece?
