Temas etiquetados como: ‘Symfony’

¿Por qué usar Symfony?

7 Diciembre, 2009

Empezaremos por 10 razones por las que una empresa debería utilziar Symfony Framework en sus desarrollos de PHP, citando:

  1. Escalable: Symfony es infinitamente escalable si se disponen de los recursos necesarios. Yahoo utiliza Symfony para programar aplicaciones con 20 millones de usuarios y 12 idiomas ¿de verdad necesitas más?
  2. Probado: Symfony ha sido probado con éxito durante varios años en aplicaciones muy diferentes. Desde sitios web con millones de usuarios (del.icio.us, Yahoo Bookmarks, Yahoo Answers) hasta otros miles de sitios pequeños y medianos.
  3. Soporte: Symfony sigue una política de tipo LTS (long term support). Las versiones estables se mantienen durante 3 años sin cambios pero con una continua corrección de los errores conocidos. Tus clientes estarán siempre contentos y a ti no te costará nada hacerlo.
  4. Licencia: Symfony utiliza una licencia MIT, con la que puedes hacer aplicaciones web comerciales, gratuitas y/o de software libre.
  5. Compromiso: la empresa que ha creado Symfony no vive del framework, sino de las aplicaciones que hace con él. Esto significa que a ellos les interesa tanto como a tí aspectos como el rendimiento, la buena documentación, el soporte muy largo, etc.
  6. Código: Desde su primera versión Symfony ha sido creado para PHP 5, desechando la versión PHP 4 (que ha sido declarada obsoleta recientemente). Echa un vistazo a su código fuente y verás lo bien que se puede llegar a programar con PHP.
  7. Seguro: Se puede controlar hasta el último acceso a la información e incluye por defecto protección contra ataques XSS y CSRF.
  8. Documentado: se trata del framework PHP mejor documentado: miles de páginas en el wiki oficial, tutoriales de hasta 250 páginas y un libro gratuito de casi 500 páginas. Además, el libro está completamente traducido al español.
  9. Calidad: su código fuente incluye más de 8.000 pruebas unitarias y funcionales. ¿Vas a jugártela utilizando otro framework con pocas pruebas unitarias o que ni siquiera las utilice?
  10. Internacionalización: Se pueden crear aplicaciones en varios idiomas. La internacionalización está integrada en el framework, funciona bien, sigue los estándares (XLIFF), es muy completa y está probada en aplicaciones reales.
¿No has terminado de convencerte? El aplicar una una hoja de estilo para desarrollo, no siempre es sencillo y si tienes un gran equipo es más complicado. Todo programador tiene sus manías, sean buenas o malas, pero todos sabemos identificar el código fuente de un compañero de trabajo tras haber colaborado en algún proyecto.
A la hora de codificar en Symfony inculca las buenas prácticas a la hora de desarrollar, donde no encontrarás deberías encontrarte una consulta a pelo, si no que tiene que pasar siempre por su ORM y en las acciones de los módulos sólo la lógica de los objetos. Si, parece muy sencillo decirlo pero cuando somos pocos y estamos todos de acuerdo no hay problema, pero y cuando no es así…
Es un Framework CRUDL, pensado para el desarrollo ágil y es divertido programar con él ya que no tienes que “preocuparte” por cosas básicas y repetitivas que podemos ir desarrollando en uno y otro y otro proyecto :-), sólo la lógica!
Vale, todavía no… que prefieres Zend porque el framework es el “Oficial”. Convencete que lo oficial no siempre es lo mejor, tampoco es que sea malo pero compara:
- La documentación de Zend no es tan extensa como la de Symfony.
- Zend tenía su propio ORM, pero se ha dado por vencido y va a implantar Doctrine.
- El abandono del ORM própio de Zend fue por falta de “potencia de desarrollo”, la comunidad de Symfony es más grande, más fuerte.
- Si, en internet todos andamos con el Inglés para arriba y abajo… pero la documentación de Symfony está en varios idiomas, y su comunidad es muy activa.

Todavía no estás convencido? bien, la mejor manera es que analices tus necesidades y te pongas con la documentación de Symfony, el libro está muy bien pero donde más rápido vas a ver su potencia es en su ejemplo práctico Jobeet. Cuéntame tu impresión cuando estés en el 5º capítulo :-D

Symfony 1.4 estable

2 Diciembre, 2009

Ya tenemos disponible la versión estable de Symfony 1.4, como es de esperar también acompañada de una amplia documentación en varios idiomas en el lanzamiento de la versión estable. En la web de Symfony de habla hispana nos da información al respecto. Y cito de: http://www.symfony.es/2009/12/01/mas-con-symfony-el-libro-definitivo/

La gran novedad es que este libro es el primero que se ha escrito específicamente para los usuarios avanzados de Symfony, por lo que en este libro no te encontrarás la enésima explicación de cómo instalar Symfony o de cómo funciona la arquitectura MVC.

Un buen framework PHP

2 Septiembre, 2009

Desde que tomé la decisión de utilizar symfony me sorprendo cada día que voy avanzando. Te encuentras todo aquello que querías tener hecho pero nunca tuviste tiempo de hacer.

Si todavía estás dándole vueltas a que framework php utilizar deja de buscar, symfony es el framework perfecto! Por que hago esta afirmación tan rotunda… pues porque en el aprendizaje de symfony recalcan las buenas prácticas, el uso de pruebas unitarias y funcionales y la refactorización de código. Tal vez estés pensando en utilizar Zend Framework porque tiene unos componentes que son realmente interesantes, no te preocupes! con symfony puedes hacerlo!

La filosofía de los creadores del framework es de “no reinventar la rueda” y si algo está bien hecho y funciona lo utilizan. Antes de embarcarse en el desarrollo de algo nuevo comprueban si existe. De hecho, el core de symfony está compuesto por otros proyectos open source como Creole, Prado, Spyc y Pake.

Tienes todavía dudas de si debes usarlo o no, el libro y la documentación es extensa (es una buena señal), entonces ponte a realizar la práctica de Jobeet! verás lo que se puede hacer y como! la potencia de symfony es importante!

Yahoo news y del.icio.us son proyectos construidos con symfony por lo que se puede garantizar el desarrollo de aplicaciones con carga extrema.

Un framework para dominarlos a todos

25 Agosto, 2009

SymfonyHace ya unos meses comencé un proyecto ambicioso, el crear un framework para el desarrollo de aplicaciones web en php. Una tarea que comenzó en las solitarias noches del hogar, terminó convirtiendose en parte de las tarea de mi jornada laboral. La idea siempre fue facilitar el trabajo, y llegó el momento de ponder poner en marcha a zancadas la idea.

Fue comentado en forosdelweb.com mi intención de desarrollar un framework php y criticado en el sentido de reinventar la rueda, para que hacer algo que ya está hecho. Eso es totalmente cierto, pero las carencias que teníamos eran muy particulares y a veces lo que tenemos que hacer no es “lo de siempre” y el framwork salió a la luz, funcionando en diferentes proyectos.

Aunque en un principio la idea era tener el código licenciado bajo GPL al llevarme la tarea a la jornada laboral perdí el poder de decisión para poder liberar el código y nunca fue publicado en el repositorio. Actualmente el repositrio SVN http://svn.pensandoenred.com/framework tiene una versión antigua ya del motor de plantillas.

La experiencia es y ha sido increible al crear una herramienta de este tipo, el evolucionar el desarrollo junto con su mantenimiento hasta se hace relativamente fácil gracias a que no sólo yo aporté, también mis compañeros fueron una importante ayuda para afinar el desarrollo, técnica y conceptualmente ha sido un trabajo muy enriquecedor. El resultado fue un framework parecido en “grandeza” a codeigniter, y de fácil aprendizaje.

Aunque parece que ya estoy en tono de despedida… :-) no es así! esta herramienta seguirá su curso y crecerá, pero fue un proyecto gestado en un sitio y que nació en otro lugar pero ahora tiene otro rumbo. En el transcurso del mismo primero atacamos a las necesidades inmediatas y luego lo fuimos adornando pero siempre mirando hacia adelante en cuanto a necesidades y requisitos que serán imposible alcanzar en su totalidad, ya que el tiempo es dinero y no tenemos tanto dinero para ello :-)

Antes de embarcarnos en la aventura valoré el utilizar symfony como framework, pero es muy grande y complejo. Su aprendizaje es relativamente costoso en comparación con frameworks más pequeños… Pero la potencia de symfony cada vez me abruma más.

La potencia de symfony en cuanto al tratamiento de las url’s, de gestión de formularios, la rapidez en el desarrollo de aplicaciones potentes y la gran comunidad hispana que tiene es increíble por no hablar de su extensa documentación. Lo que más me ha gustado de lo que he visto en este framework son las pruebas unitarias y funcionales, algo que en muchas ocasiones en el desarrollo de aplicaciones no se la da la suficiente importancia.

Otros lenguajes de programación son más cuadriculados, pero php… el que lo conoce sabe que es tan maleable… :-) y no se puede competir contra cientos de cabezas pensantes de una comunidad! donde no sólo uno mismo ve la necesidad, es que la ven todos y la sacan adelante. Otro de los framework que están en la cumbre es Zend Framework y aunque lo he visto por encima me he decantado por Symfony por el momento. Tal vez cuando tenga el control adecuado para decir que conozco bien Symfony igual invierto algo de tiempo en mirar Zend, pero hay mucha documentación de Symfony y me resulta cómodo el aprendizaje así que me parece que será difícil cambiar a Zend el día de mañana. La comunidad symfony es muy activa y es de agradecer en el momento de aprendizaje y sobre todo a tener en cuenta para el futuro.

Pronto comenzaré con una aplicación con este framework y me parece que voy a disfrutar mucho, programar es divertido!