Elegir un framework de PHP para un nuevo proyecto

En estos últimos tiempos están apareciendo frameworks como las setas. Con la popularización de PHP 5.3, muchos desarrolladores están apostando por pasar de los frameworks más conocidos y desarrollar nuevas opciones, todos ellos clamando ser más rápidos, más lazy-loading, más namespaced y más molones de la muerte que el resto.

Y personalmente, creo que la comunidad PHP nos estamos equivocando completamente con esta tendencia.

Hay muchos frameworks sí, pero no tantas librerías. Vale, hay muchas librerías escritas en PHP para hacer un montón de cosas, cierto, pero no hay tantas como puede haber en Java o si me apuráis en Rails. Y todo esto hace que sea muy complicado elegir uno u otro framework (en Java hay los grandes y en Ruby… Rails / Sinatra) y por ello las empresas siguen siendo reacias a apostar por PHP, muchas veces por el miedo de que la nueva versión del framework elegido nos obligue a refactorizar gran parte de nuestra aplicación.

Es por ello, que las mejores apuestas a día de hoy siguen siendo Zend y Symfony.

El problema con Zend, es que han optado por un modelo en el cual el framework sigue programado “a lo 5.2” esperando la reescritura para Zend FW 2 y en cambio podemos hacer/importar librerías con sus namespaces correspondientes. Y la verdad, queda algo cutre. Y no solo eso sino que el día que salga Zend 2 y queramos actualizarnos… vaya faenón vamos a tener.

En cambio Symfony ya tiene prácticamente lista su versión 2. Los fans de Symfony han conseguido estar bastante unidos y probablemente sea el framework a elegir si vamos a empezar un proyecto grande y queremos estar tranquilos a 2-3 años vista. Habrá que tocar cosas para Symfony 2.1, seguro, pero menos que si elegimos Zend, por lo menos en el momento actual.

Pero elegir Symfony2 tiene varios problemas:

– Aún no hay una versión final y probablemente no esté 100% optimizado ni libre de bugs.
– Muchas veces se ha acusado a Potencier de falsear sus tests de velocidad y cuando el río suena… seguramente algún truquillo ha usado.
– Muchos desarrolladores no se aclaran con los namespaces.
– En un front, tal vez no sea suficientemente rápido.
– Sigue habiendo mucha gente pro Zend FW y serán reticentes al cambio
– Seguramente si hubiera una certificación Symfony (escucha Potencier, que aquí hay pasta!) sería maś fácil valorar candidatos que “saben Symfony”

En resumen, mal momento para elegir una plataforma que nos acompañe en los próximos años.

Mis opciones: Symfony2 para el back y un framework propio o uno de los ligeritos para el front. ¿Y las vuestras?

You may also like...

6 Responses

  1. Pues la verdad es que Symfony 2 me ha gustado mucho. Yo soy pro-Zend, pero cada vez más me gustan las cosas simples y desde hace tiempo que juego con frameworks sencillos, y el que más me gusta es KohanaPHP. Symfony2 también me está gustando bastante como para plantearme usarlo.

  2. Pere says:

    Para mis propios proyectos utilizo un framework propio tanto en front como en back.

    El día que tenga que empezar algo nuevo con un equipo, seguro que perderemos bastante tiempo discutiendo el Framework :)!

    He jugado con varios FW y ahora mismo si tubiera que coger uno para un proyecto en equipo seria el CI2: Bien documentado, simple de usar y con bastantes librerias. Y a unas malas también puedes usar las librerias de Zend facilmente.

    Aunque tendré que echar un ojo a Symfony ni que sea para curiosear, que últimamente parece el FW de moda.

  3. kohana says:

    Kohana es lo mejor. Lo sabes no lo niegues. No te resistas. Para front algo propio ligerito. Mirate sonic php. No ta mal. yo en mis tiempos libres me estoy haciendo el mini mini fw basado en best practices de un monton de fw.

    Chema 😉

  4. Y CodeIgniter que les parece?

  5. Agustin says:

    Creo que CodeIgniter 2.0 está muy muy bien. Bien documentado, cualquier duda la puedes encontrar o preguntar en su foro de desarrolladores y una curva de aprendizaje muy muy ligera. Ideal para incorporar a un equipo que va a empezar de cero con un framework.

  6. Ricard Clau says:

    La verdad es que hay muchos frameworks que están bien para empezar.

    Algunos de los más sencillos son:
    – CodeIgniter por su documentación, aunque algo antiguo incluso su versión 2
    – Kohana rapidísimo pero falto de documentación
    – CakePHP bastante lento pero muy usado y documentado
    – Yii Nunca lo he usado pero la gente habla bien de él

    Todos estos tienen una curva de aprendizaje relativamente ligera y ideales para empezar.

    Si tenemos gente buena y tenemos que hacer proyectos grandes, que necesitan un montón de librerías, sin duda Zend o Symfony.

    Aunque para gustos, los colores 🙂

    Gracias por participar en el debate a todos!