Comparativa de Frameworks PHP: Symfony, Laravel y Más

Clase 16 de 17Curso de Symfony Framework

No todo lo que brilla es Symfony

Así es, a pesar de que te resulte difícil de creer después de lo que has aprendido, hay gente que se empeña en desarrollar otros frameworks :)

La verdad es que, si bien Symfony es una excelente herramienta, existen otros modos de resolver los mismos problemas, e incluso, hay frameworks orientados a escenarios específicos.

Veamos algunos de ellos

Laravel

Laravel es, probablemente, el competidor por excelencia de Symfony.

Se trata de otro framework tipo full-stack basado en el patrón MVC.

Generalmente se le considera un framework muy profesional y, a la vez, muy sencillo.

Internamente utiliza varios componentes de Symfony (el más prominente es el de los comandos de consola).

ZendFramework

ZendFramework es otra alternativa desarrollada originalmente por la empresa Zend.

Actualmente ha pasado a ser soportado en forma comunitaria y cambió su nombre por Laminas.

Es algo más similar a Symfony en el sentido de que está desarrollado con un foco muy fuerte en lograr una buena arquitectura.

Yii

Yii es una alternativa algo menos popular que Symfony o Zend, pero también puede considerarse un framework profesional.

CodeIgniter

Se trata de un framework bastante más sencillo que Symfony o Laravel. Esto no significa que no pueda utilizarse para desarrollos grandes, es sólo que las herramientas con las que cuenta no son tan elaboradas y el código resultante no es tan correcto desde el punto de vista de la arquitectura

Cake

Cake es otro framework sencillo. Su objetivo es permitir el desarrollo rápido tomando como base el principio de convención en lugar de configuración.

Esto hace que la barrera de entrada a Cake sea más baja que en otros entornos.

La desventaja principal que presenta es que las aplicaciones resultantes suelen ser más lentas que las generadas usando alguna otra alternativa.

Phalcon

Una última opción que quiero presentarte es Phalcon.

Se trata de la oveja negra de la familia ya que, a diferencia de los anteriores, Phalcon está escrito en C, lo cual hace que la velocidad sea un tema irrelevante.

Su desventaja principal es que la instalación es más compleja que lo que podemos estar acostumbrados, pues se requiere instalar una extensión de php para usarlo.

Por otro lado, comprender qué es lo que hace el framework cuando procesa una petición es complicado (Para empezar, hay que saber C).

Cómo elegir

En general, el criterio de elección es sumamente personal, pero existen algunos aspectos a tener en cuenta siempre:

  1. ¿Es un framework mantenido activamente?
  2. ¿De cuándo es el último commit?
  3. ¿Qué tan grande es la comunidad? ¿Hay foros? ¿Quién me puede ayudar si me trabo?
  4. ¿Tiene buenas bibliotecas?
  5. ¿Qué tal es la documentación?

En mi caso elijo Symfony porque me gustan mucho las respuestas a estas preguntas y porque me resulta una herramienta muy cómoda (¡y cada vez más!), además de ser un excelente aliado a la hora de crear aplicaciones profesionales.

Además, al tratarse de un framework escrito en PHP es sencillo ver lo que hay detrás y aprender o incluso aportar código.