martes, febrero 26, 2008

El mejor framework PHP

Hoy, después de tanto tiempo sin bloguear, quiero hablaros de un framework PHP, que para mi es el mejor.

No es ni más ni menos que Symfony. Este framework destaca sobre todo por la velocidad con la que se desarrollan aplicaciones con el.
Un claro ejemplo es la web que hemos desarrollado en Galera Estudios para el equipo de fútbol sala Racing de San Vicente, que debido a que su liga se termina en breve, tuvimos que hacerla a contrarreloj, y lo conseguimos gracias a Symfony.

Tan solo utilizando la línea de comandos puedes realizar una aplicación web completa. Creando con una llamada a su CLI una interfaz de mantenimiento de tablas. Otra de las características más importantes es su avanzado sistema de routing. Pudiendo traducir la URL que quieras en el resultado que quieras simplemente editando un fichero.

Tiene muchas otras características que puedes consultar en la web (MVC, Ajax, I18N, etc).

¿vosotros que opinais?

Por mi parte iré comentando mis progresos mientras descubra mas cosas de este framework, que en breve lanzará su versión 1.1 con avances bastante importantes.

www.symfony-project.org

15 comentarios:

Freddy dijo...

He estudiado mucho a symfony y no dudo de su robustes, calidad y madures. Lo que no me gusta de symfony es el acceso CLI, que es casi inevitable. además para la instalación se hace muy engorrosa si estas en una empresa con un super proxy, donde no tienes acceso a internet ni a pear, ni siquiera al svn. Es cierto te puedes llevar las librerías en la mano y ponerlas en tu servidor, ah y no puedo respetar las normas de convivencia de un servidor compartido que no usa vhost. Corrijanme si estoy equivocado, si esas barreras no estuvieran lo implementaría de inmediato. La alternativa que he encontrado es el Zend Framework que con su version 1.5 de pruebas y dos librerías nuevas Zend_Form y Zend_Layout puedo hacer scaffoldings muy fácilmente, la instalación es una carpeta y en el bootstrap configuro el include path para mi aplicación y tambien es flexible con una BD oracle. Esa es mi opinión a nivel empresarial. A nivel personal me quedo con codeigniter, es fácil, rápido, pequeño y la documentación es fantástica le faltan cosas pero funciona.

Pablo dijo...

Hola laconeo, me pasé unos meses haciendo pruebas con varios frameworks en PHP, y si, hay otros mas potentes, con menos problemas de configuración etc... pero ninguno me resultó tan facil de empezar como symfony.

Otra cosa es utilizar un buen IDE adaptado. Yo me he instalado PDT, con Symfoclipse (ejecuta comandos de CLI desde un menú y validador de YML), y Clay (diseño de base de datos). Y la verdad es que no lo cambiaria por nada :)

Le echaré un vistazo a la versión 1.5 del Zend, yo probé la primera versión y no me gustó mucho.

No le quito ojo a codeigniter, ni a cakephp!

Anónimo dijo...

shaq, como instalaste el symfoclipse, no he podido entender como hacerlo. Gracias

Pablo dijo...

Hola sebas, es sencillo, en el eclipse en Help/Software updates/Find and install
tienes que añadir un nuevo sitio remoto con "http://noy.cc/symfoclipse"
Luego finalizas y seleccionas symfoclipse para instalar...

Anónimo dijo...

Gracias shaq, hice lo que digiste y funciono e instalo algo, pero despues voy y busco y no se de donde crear el proyecto como de symfony. No se si estoy muy embolatado o es que me instalo mal.

Muchas gracias

Pablo dijo...

Supongo que te has instalado el symfoclipse sobre PDT, no?, lo que necesitas es un proyecto PHP, y crear en el el proyecto Symfony.
Entonces desde la perspectiva PHP te deberia salir la vista Symfony para poder ejecutar los comandos.
Además de que al abrir un fichero YML te actuaria el validador.

Dragón dijo...

Una porquería.

Sinceramente, estuve casi 2 semanas (no bromeo) intentando instalar una aplicación que hizo un programador retirado del trabajo donde estoy sobre un servidor IIS y fué una PESADILLA total.

Aparte de que tenía que editar rutas en archivos extraños (si PHP no estaba instalado donde "debía" ser), los mensajes de error eran totalmente INÚTILES. Fatal exception de propel y todo lo demás, pero nada que te ayudara a resolver el problema.

El programador brillante que hizo el sistema no puso instrucciones para ponerlo en Apache, por lo que tuve que joderme con IIS y PHP bajo windows, lo que terminó siendo un error del mismo PHP fácilemente solucionable: Mover php.ini a C:\Windows.

Symfony no fue nada útil, además que tienes que editar 784723783 archivos para hacer un cambio sencillo. Es lento y complicado de usar, estás atado a la CLI de symfony y si no lo tienes pues te jodiste, aparte de que estás atrapado con PEAR.

Eso de usar un "compilador" para generar código que luego se ejecuta de nuevo no me va, eso de un código para hacer otro código es estúpido, y no puedes hacer nada a mano porque entonces se te daña toda la aplicación.

Tanto a mí como a la empresa donde trabajo nos decepcionó mucho. Sinceramente y de todo corazón, NO lo recomiendo para sistemas en producción. Sale MUCHO mejor hacerse un framework sencillo uno mismo por varias razones:

1. Fácil de mantener.
2. Si se hace bien, es fácil hacer un cambio.
3. Rápido.
4. Funciona en cualquier parte.
5. No se necesita CLI, SVN, PEAR, o nada que se le parezca.
6. Código reusable.

My 2 cents.

Unknown dijo...

Hola Dragon todo lo que dices lo haces simplemente por frustracion que pasa hermano nunca has usado algo tan profesional como symfony es tan facil de usar y tiene tantas cosas listas y bien predefinidas que un poco mas y nos deja sin trabajo en la programacion por lo menos de la parte del backend dices que es dificil instalar symfony pues mira para hacer pruebas hubiera bastado con descargar el archivo de aqui http://www.symfony-project.org/installation/1_1 descomprimirlo y listo funciona te dejo mi mail ingjvenegas@sandta.com gustoso te enseño como hacerlo.
coincido con el titulo Symfony es el mejor framework en php.

Unknown dijo...

"más fácil hacerse un framework uno mismo" que fuma la gente ??, un 10 a symfony

Anónimo dijo...

muchisimo porro fuma la gente!

JoShuA dijo...

Hola, buenas estoy en busqueda de un nuevo framework anteriormente eh usado zendframework me parecio ordenado robusto y bueno ahora estuve probando "akelos" no se si lo han oido y otros quisiera saber las desventajas de lso otros frameworks frente a symfony

Jose dijo...

Pues amigos yo les diria que le hechen un vistazo a SIU Toba que es open source y en español basado en componentes y con una IDE de edicion propia.

http://toba.siu.edu.ar/trac/toba

Jaime Gaviria dijo...

A mi personalmente me parece interesante PRADO, para las personas que venimos de asp.net la curva de aprendizaje es muy corta y en poco tiempo podemos estar desarrollando aplicaciones interesantes en este framework, le creo y le apuesto a PRADO.

Aun no consigo editores que nos faciliten el desarrollo en este framework, por este motivo estoy desarrollando mi propio editor, si alguien esta interesado en el se ponen en contacto conmigo o ingresan a http://code.google.com/p/pradoeditor/ donde estare colgando poco a poco los avances de este editor para PRADO.

Anónimo dijo...

no lo conozco a simphony, pero veremos que onda :)

Pablo dijo...

@Jose:
Muy interesante la aplicación Toba, la verdad es que es la evolución de los frameworks actuales, una vez se tiene todo bien montado se pueden crear softwares como churros, seguiré el desarrollo del sistema.

@Jaime Gaviria:
Antes de empezar con symfony estuve probando PRADO y mirando ejemplos pero no acabo de convencerme la sintaxis, como dices, la forma de desarrollar muy similar a asp.net.

En mi empresa seguimos trabajando con Symfony y la verdad es que seguimos muy contentos con el, acelera mucho el desarrollo junto a PDT y Clay :).
Por desgracia Symfoclipse ha muerto.