CodeIgniter, Kohana o Zend Framework?
En la actualidad existen muchos framework para la programación en php, pero en el post de hoy nos vamos a centrar en CodeIgniter, Kohanaphp y Zend Framework. Debido a nuestro trabajo, tenemos que elegir una herramienta util, sencilla y a la vez potente para crear nuestros proyectos php. Por eso hemos decidido probar estos tres diferentes Frameworks.
Empecemos por mirar las documentaciones de cada programa. La documentación mas extensa sin duda es la del Zend, y la de CodeIgniter tambien es bastante amplia. Kohana en este aspecto es la peor parada, ya que no esta creado por empresas y al ser nuevo no tiene tanta documentación como se podría esperar.
A la hora de la instalación, CodeIgniter es el mas facil. Con descargar el archivo y descomprimirlo ya tenemos nuestro CodeIgniter preparado para utilizar ya que no necesita ninguna configuracion extra. Kohana tambien es facil de instalar, pero hay que cambiar un par de permisos y borrar el archivo install que viene en el paquete. Sin duda el framework mas dificil y pesado de instalar es el Zend, ya que hay que apuntar las librerias desde php, y para una persona que empieza a programar no es tarea de un minuto.
Los tres frameworks cuentan con API’s, siendo CodeIgniter el que ofrece mas en este aspecto, dado el tiempo que lleva en el mercado. El Zend no es que tenga muchos API’s pero con todas las librerias que tiene tambien puede ser una herramienta muy potente.
Una de las diferencias entre los tres es que kohana utiliza solamente PHP5, CodeIgniter puede utilizarse con PHP4 tambien. Aparte de eso CodeIgniter y kohana son MVC’s (Model View Controller) y el Zend no, aunque tenga componentes para ello.
En definitiva el Zend es muy pesado y espeso a la hora de programar. CodeIgniter es muy bueno para pequeños a medianos proyectos, especialmente para servidores heredados que tienen PHP4 instalado. Su fantástica guía de usuario hace que programar en CodeIgniter sea muy eficiente. Y Kohana es probablemente mejor para proyectos más grandes que necesitan extensiones más flexibles, ya que PHP5 ofrece mejor soporte de OOP, además, su mejor implementación de características lo hace un fuerte competidor.
Ahora que cada uno saque sus conclusiones y elija la herramienta que mas le convenga. Esperamos que este post os ayude a hacerlo.
Categorias: General


Comentarios
Los comentarios de este post en RSS
Luis Artola
Febrero 20, 2009 @ 10:14
hola,
llevo más de un año programando con Zend Framework. Cuando decidí dejar de reinventar la rueda y utilizar un framework estuve mirando las diferentes opciones que había. En tu comparativa me parece que falta un par muy importantes Symphony y Cake.
Tienes toda la razón en que cada uno elija la herramienta que le convenga. Te comento por qué me gusta MUCHO más Zend que CodeIgniter.
La filosofía de CodeIgniter es: “desarrollar aplicaciones lo más rápidamente posible”.
La filosofía de ZF es: “simplificar el 80% del desarrollo habitual de un programador, y que el programador desarrolle el 20% restante”.
Por eso ZF se estructura como una serie de componentes totalmente independientes (en muchos casos) que puedes adaptar a tu web, sea ésta como sea. Por ejemplo, yo ahora siempre utilizo Zend_Mail para enviar mails, aunque esté desarrollando un plugin para wordpress…
Creo que el ejemplo más claro es con el MVC. Hasta donde yo sé, CodeIgniter te permite configurar en cierta manera el MVC, pero te obliga a utilizarlo y ha hacerlo de una manera muy concreta.
Zend Framework, en cambio, es todo flexibilidad. Puedes utilizar el MVC que viene por defecto, puedes modificar el comportamiento del MVC para adaptarlo a tus necesidades concretas (nosotros utilizamos nuestra propia versión en http://www.precriticas.com), o puedes, directamente, no utilizar mvc porque no te conviene.
En tu comparativa comentas temas muy importantes: documentación, apis, instalación… pero creo que se te olvidan dos temas esenciales:
1 – flexibilidad. Poder utilizar componentes Zend integrados con cualquier otro desarrollo (framework propio, código legado de proyectos viejos, wordpress, dokuwiki, bla bla bla).
2 – la gente que está detrás: ZF está siendo promovido por las principales empresas del sector y por los propios creadores de PHP. Además tiene una linea de desarrollo futura muy buena y se está desarrollando muy rápidamente.
pufff, vaya chapa acabo de soltar.
Un saludo para tí Arkaitz, y para Aitor y Jon, mis resuelve crisis habituales…
P.D.: como vuelvas a escribir que zend es “muy pesado y muy espeso” voy con una katana a Bilbao y te achechino….
aitor@guebs
Febrero 20, 2009 @ 21:09
Bonita comparativa, Arkaitz. Aunque aquí, lo que diga Luis va a misa y no es por hacerle la pelota
Supongo que todos los frameworks tienen su ventajas y desventajas. Para lo que Arkaitz esta buscando, creo que el CodeIgniter es una buena elección, ya que te “obliga” a programar bien y aprender buenas costumbres. La flexibilidad ya vendrá más adelante.
Arkaitz
Febrero 25, 2009 @ 11:16
Hola Luis,
En ningun momento me estab metiendo con Zend, ni mucho menos. Y me reafirmo en que cada uno elija la herramienta que mas le convenga. Yo lo que necesitaba era una herramienta facil y sencilla de utilizar, y tu amigo el Zend, no es una herramienta de instalar y usar. Hay que meterle mas tiempo, es mucho mas extenso, lo que me hizo llamarle “pesado y espeso”. Con eso n oquiero decir que sea peor o mejor herramienta, solo es diferente.
Tambien te voy a decir que tienes razon en cuanto a la flexibilidad, es mas flexible porque es mucho, mucho mas complejo y extenso.
No me voy a volver a meter nunca con Zend, pero que sepas que soy cinturon negro!
eemece2
Febrero 26, 2009 @ 21:48
Buenas!
Como dice Luis, me parece que Symfony debería estar en cualquier comparativa de frameworks php. Como se suele decir, su curva de aprendizaje es algo lenta al principio, pero a medio plazo compensa mucho. Yo llevo mas de 2 años usándolo y he podido comprobar que la documentación y comunidad que tiene son muy buenas, lo que para mi es algo de lo más importante.
aitor@guebs
Marzo 2, 2009 @ 01:51
Existen un montón de frameworks PHP y si te pones a comparar de verdad (haciendo una pequeña aplicación) todos ellos podrías pasarte un mes…
Y ya puestos, te pones a comparar con Rails, Django, CherryPy…. y no termina en la vida
Angel
Septiembre 15, 2009 @ 03:09
Porque ese miedo a lo profundo y desconocio, Zend Framework es una herramienta demasiado completa, no compleja, llevo ya un año usandoda y cada dia me sorprendo más de sus bondades, en cambio he probado CodeIgniter (lo cual me parece demasiado pobre en opciones, y eso del MVC, muy deficiente al no contar con layout si quiera) Kohana para quien no lo sabe es un frake (no se si se escribe así) es como usar la misma herramienta pero con otro nombre, Synfony es demasiados archivos yaml para simplemente mostrar un label lo cual uno pierde demasiado tiempo tratando de entenderlo que al propio php.
Por eso digo nsi quieren una herramienta lo cual te permita decidir sobre tu propio código usen Zend Framework que el tiempo que le dediquen en entender su sintaxis la ahorran luego con el tiempo que ganan al diseñar nuevas aplicaciones, que se los digo yo que no me tardo ya ni 1 hora en modificar o crear modulos, controladores, modelos, formularios y hasta las mismas vistas.
Y si Zend Framwork implementa MVC (a su manera claro) pero funciona mucho mas organizado.
Bueno esa es mi opinio si quieren verdaderamente crear aplicación de calidad, pierdan el miedo a lo que llaman “extenso,profundo y pesado” que eso es lo realmente vale la pena aprender.
Brett Kromkamp
Octubre 3, 2009 @ 13:58
He desarrollado mi web basado en mapas de topicos con el Zend Framework: http://www.quesucede.com. El propio motor de mapa de topicos esta implementado en PHP. La experiencia con el Zend Framework fue muy productivo y bonito.
Añade tu opinión