Bien, es una buena pregunta. Pero antes deberíamos saber qué es Symfony. Ok, Symfony es un framework para el desarrollo de aplicaciones web basado en lenguaje PHP.
Hace ya tiempo que PHP se ha impuesto como lenguaje para el desarrollo de aplicaciones web. Y no es de extrañarse, a pesar de las diferentes opciones que existen en el mercado para programar sitios web, lógicamente todo se fue decantando en la opción más fácil, rápida, con mayor documentación y mayor facilidad de implantación.
PHP es un lenguaje versátil, muy fácil, no tipado y soportado por la mayoría de los servidores que ofrecen hosting. Este ultimo detalle es algo que entre los desarrolladores freelance (principal objetivo de PHP), tiene un peso brutal. Al desarrollador freelance le sirve tener algo que le permita desarrollar rápidamente, reutilizar lo programado, entregar y configurar fácilmente el producto terminado y tener pocas llamadas por actualización o cambio de código luego de vender el producto.
Y PHP en cierta medida cumple con todos los requisitos. Sin embargo, el único punto en el que resulta débil es en que así como sucede con el clásico Visual Basic 6 o el antiguo Clipper o DBASE, el hecho de que cualquier pueda programar, basta con que no se aplique un poco de conocimiento real de “orden” en el diseño para lograr un código “ilegible”. En inglés esto se denomina “spaghetti code” y se refiere a que en PHP es muy fácil caer en la tentación de no separar claramente las capas de presentación, de la de negocio, de la de datos y entreverar todo de forma tal que el código resultante sea literalmente un “asco”.
Hay que ser extremadamente prolijo y metódico para, ante algún cambio rápido que haya que hacer en algún programa, no se agreguen “parches” y código spaghetti.
Las opciones que existían hasta el momento, que de hecho más de uno las practicamos, era crearse una serie de herramientas o generadores caseros para automatizar la mayoría de las tareas triviales como generar clases, brokers, etc.
Este tipo de herramientas (ya sea propias o de terceros), resultaba en un problema a la hora de actualizar errores encontrados (ya que no eran perfectas ni estaban “super” probadas) y/o corrian el riesgo de desaparecer o cambiar (en el caso de ser de terceros).
Por lo tanto, el uso de las mismas + disciplina y metodología fueron la solución durante años.
Hace un tiempo con toda la movida de web2.0 apareció un nuevo concepto en desarrollo de aplicaciones. El uso de los llamados FRAMEWORKS basados en MVC. Ustedes dirán, “no se inventó nada nuevo”. Sí, es cierto, pero también es cierto que nadie se había sentado a hacer un framework como sucede con Struts o Spring en Java. Y realmente era lo que hacía falta. Entonces apareció RoR , el framework que lo cambió todo. Un framework para desarrollo de aplicaciones web muy interesante. Para aquellos que no saben aún, un framework es una plataforma de trabajo. Es decir, un conjunto de herramientas que permiten desarrollar sobre un modelo común. Es como programar siguiendo pautas para lograr un producto estándar y sobre todo, fácilmente modificable y mantenible.
Los frameworks se encargan de generar el código para la persistencia y el mapeo de clases a tablas (ORM). También algunos tienen herramientas para la traducción de sitios siguiendo estándares XLIFF (como es caso de Symfony). Permiten actualizar el modelo fácilmente, poseen herramientas de ayuda para interactuar con el la presentación HTML más fácilmente. Brindan herramientas de depuración de datos, etc.
La idea de este blog es introducirse en el mundo de PHP a través de Symfony. Es un proceso lento pero seguro. Este blog no es uno de esos blogs que toman un tutorial ya hecho del sitio de Symfony y lo copian. En caso que haya tutoriales serán ejemplos propios y de hecho mi idea es registrar para compartir, mi mismo proceso de aprendizaje. Ya que de hecho todos nos chocamos en condiciones normales, con las mismas dudas y problemas. Y a veces los foros no son suficientes o la documentación no está del todo completa.
No los aburro más, bienvenidos!
Un pequeño consejo, conviene saber PHP (la sintaxis y lo mínimo para poder sacarle mayor provecho a este blog). La documentación de PHP en su sitio es muy buena.
Diciembre, 30 2007 a las 8:16 pm
[...] Por qué Symfony [...]
Enero, 13 2008 a las 3:38 pm
[...] Por qué Symfony [...]