Kohana o CodeIgniter… ser o no ser?
Aunque no es la primera persona que me lo pregunta, ayer vi que alguien había usado el apartado de artículos a la carta (si! existe ese apartado) para preguntarme sobre el tema de Kohana.
Para lo que no lo sepáis Kohana es otro framework en PHP basado de CodeIgniter que entre otras cosas hace méritos de:
- Proyecto desarrollado por una comunidad y no por una compañía.
- Solo dan soporte para el PHP5 y lo usan de una manera bastante mas estricta
- Muy ligero
- GET, POST, COOKIE y SESSION funcionan como deberían
- Carga automática de librerías funcionando bajo demanda de estas
- Sin conflictos de namespace, que básicamente es ponerle a todo un sufijo para que no haya solapamientos
- Fácilmente extensible
- Consistencia en librerías y API
- Gran posibilidad de manejar eventos, para una gran personalización
- Ciclo de desarrollo rápido.
Antes que nada quiero dejar claro que de lo que hablaré aquí es mi opinión personal y que habrá (por supuesto) mucha gente que pensara diferente que yo. Personalmente he usado Kohana para una aplicación que hice así que mi experiencia con este framework no es muy extensa pero trataré de arrojar algo de luz sobre el tema.
La conclusión final de este artículo es que yo prefiero CodeIgniter (si, es una conclusión final pero que la escribo al principio). Por lo que trataré sobre los temas que a mi me han hecho decidirme.
Gran comunidad detrás. CodeIgniter tiene una comunidad de usuarios mucho mayor que la de Kohana, por lo que genera que haya muchos mas recursos, mas movimiento en los foros, mas blogs (como este) que hablan del tema, etc. Esto también genera que se importan muchas cosas de otros frameworks, es decir algunas cosas que por ejemplo podria tener Kohana los usuarios crean sus propias librerías para dotar a CodeIgniter de estas funcionalidades (como por ejemplo las Session Class mas seguras, modulos de verificación de usuarios, rendering de views, etc..)
Documentación. Todos los que hayáis trabajado en CodeIgniter os habréis dado cuenta que la documentación es uno de los puntos fuertes del proyecto. Todo muy bien ordenado y explicado, con ejemplos. La documentación es actualizada a medida que actualizan el código. Todo muy bien relacionado para un fácil aprendizaje. En ese tema Kohana tiene una gran deficiencia porque su documentación es realmente pobre.
Velocidad. Si bien esto es un poco ambiguo ya que he visto test que demuestran que CodeIgniter es mas rápido y otros que demuestran lo contrario, aun así la posible diferencia de velocidad es escasa; no es tan grande como podría ser con otros proyectos como Symphony. Por lo que CodeIgniter sigue siendo uno de los frameworks mas rápidos.
También es cierto que Kohana lleva por defectos algunos módulos como podría ser el del sistema de usuarios. Yo siempre he preferido tener una base de código (como podría ser CodeIgniter) y trabajar a partir de ahí, crear mis propios módulos para que hagan exactamente lo que yo quiera y de la manera que quiera. Y aun asi para aquellos que preferiríais tener un modulo ya prefabricado para usuarios, podéis bajaros y usar cualquiera de los que han publicado para CodeIgniter como por ejemplo el FreakAuth, Sentry, etc.. que seguro que funcionan tan bien como el de Kohana u otros frameworks.
Cosas como lo de las variables superglobales que no funcionan en CodeIgniter es algo que se puede arreglar modificando dos parámetros del config.php. Y muchos otros aspectos de los cuales parece que Kohana trata de "alardear" por encima de CodeIgniter.
Y aparte de todo esto yo estoy muy a la expectativa de lo que puede salir en la versión 2.0 de CodeIgniter, que sus desarrolladores están haciendo juntamente con el ExpresionEngine, puede salir algo muy potente. Las actualizaciones de CodeIgniter nunca son triviales, siempre llevan muchísimas mejoras y cosas nuevas.
Y mi ultimo comentario es algo menos técnico y mas personal. El "aire" que desprende CodeIgniter huele bien, te das cuenta que es un frameworks que esta en crecimiento y todo lo que hacen es de calidad y sin problemas; cosa que Kohana solo dar una vuelta por su web te das cuenta que ese ambiente y sensación no es lo que esperabas.
Por lo que la pregunta de si es tontería aprender a usar CodeIgniter si Kohana es mas extenso, mi respuesta es que para empezar y con lo que he expuesto en este artículo prefiero muchísimo mas CodeIgniter, y como segundo plato decir que Kohana esta basado en CodeIgniter por lo que alguien que haya aprendido en CodeIgniter no tendrá ningún problema en usar Kohana, así que siempre existe esa posibilidad de salto que no haya supuesto una perdida de tiempo en aprendizaje.
¿Te gustó este artículo?
Aún no hay trackbacks.

13 agosto, 2008 - 00:04
Muy buen articulo
Por aqui tambien preferimos codeIgniter, principalmente por la documentacion, y por la rapida respuesta que tenemos cuando nos surge alguna duda o problema
Ademas, la traducccion al español de la documentacion, esta mas que bien
28 agosto, 2008 - 17:53
habia algun fallo en la web
antes no se veian bien las fechas
k raro..
27 marzo, 2009 - 20:27
Decanto por Kohana, ha sido una experiencia realmente buena y excitante, kohana rules!!!
5 abril, 2009 - 04:41
Partiendo del hecho de que Kohana es puro PHP5 ya es mejor
6 abril, 2009 - 00:51
@Michel
Realmente absurda afirmación.
21 abril, 2009 - 23:42
Empezar de cero con Kohana es un poco más difícil, pero una vez que le agarras la mano te vas enamorando y no te arrepentís más.
La principal característica, o al menos la que a mi más me gusta, es que podes extenderlo/pisarlo/modificarlo/hackearlo o hacer cualquier cosa sin tocar el core.
O sea que cualquier cosa que necesites hacer “a tu medida” la podes hacer fácilmente. Es decir: el framework se adapta a vos, y no vos al framework.
Si no fuera por Kohana, hoy estaría aprendiendo Ruby.
29 agosto, 2009 - 08:35
me gusta codeigniter por los videos y la grafica, se nota que es un proyecto joven y fresco, nada de tutoriales aburridos y demasiados sozos.
6 febrero, 2010 - 04:45
codeigniter tiene muy buena documentacion, es perfecto para empezar y una gran comunidad detras…, pero kohana es joven y esta avanzando rapidamente, de seguro que nada esta decidido. Por mi parte prefiero codeigniter.
9 febrero, 2011 - 23:13
Pos yo prefiero Symfony que es mejor, mas maduro, modular pero que ademas en su version 2.0 viene acabando. Actualmente uso Code Igniter pero es por que en el proyecto que estoy ahora debo utilizarlo por peticion de los clientes. Pero si por mi fuera usara Symfony + jQuery.
10 febrero, 2011 - 18:47
Bueno el Symfony sin duda sería ahora mi segunda opción, pero en principio me valgo con el CodeIgniter de momento. Y sobretodo teniendo este blog orientado básicamente en CodeIgniter.
Y totalmente de acuerdo con jQuery :)
28 mayo, 2011 - 09:43
Buenas! Por mi parte usaba Kumbiaphp por apoyar el proyecto pero se ha quedado atrás y los desarrolladores son muy desorganizados, la documentación es obsoleta y da muchos saltos, debes leer la documentación del 0.5 y luego la del Spirit 1.0, y actualmente no se puede usar con php 5.3 sino con 5.2 el cuál quedó obsoleto en el 2009. Los desarrolladores tienen más de un año sacando el Spirit 2.0 (nisiquiera sacaron un 1.1 para corregir el detalle del 5.3 y continuar con el desarrollo). Yo que soy desarrollador en java y uso Struts con una línea de aprendizage mucho más compleja y lenta que php, realmente me parece importante que usar un framework que sea ligero y rápido de aprender, por loq ue me parece ilógico demorar tanto por el desarrollo de una aplicación con un framework como Zend o incluso en cierto modo Symfony aunque se ve bastante interesante y no tan complicado como lo pintan. solo quería saber algunas opiniones adicionales y si el supuesto CodeIgniter utiliza ORM, no he leído casi la documentación, hoy me enteré que existía, que recursos brinda para usarlo con JQUERY y su maravilloso plugin JQUERY-UI ? Que me dicen ? Gracias!
25 julio, 2011 - 09:50
Hola, yo he estado experimentando con kohana y lo que he tardado con él 2 semanas, en 2 días lo he hecho en Codeigniter, para mi creo que es mejor Codeigniter ya que kohana esta muy verde comparado con Codeigniter.
Un saludo,
29 julio, 2011 - 15:04
Hola, yo llevo algun tiempo trabajando con ambos frameworks, con CodeIgniter desde que era 1.6 y con kohana desde la 2.0.x. Es decir mas o menos tres años.
Por cuestiones de proyectos he trabajado con Zend y Symphony, he hecho estudios de Kumbia, Zonk, ZNF, Sierra y SunFramework, Fluency (hay otros que no recuerdo). He trabajado tambien con Grails(GROOVY), SpringRoo, Primefaces + Hibernate + Spring. Es decir que tengo algo de experiencia con lo que es el trabajo con frameworks en si.
Soy de los programadores que nunca estan conformes con los productos de codigo abierto que recibo y normalmente tiendo a trastear en los core de los frameworks que utilizo (Siempre que puedo no lo hago). Mantengo un svn local en mi PC para poder efectuar actualizaciones sin sobreescribir mis cambios haciendo diff y actualizando de forma metódica lo que entiendo me beneficia actualizar.
De todos los frameworks que he mencionado, entre los que son en Java y PHP, decanto por PHP, y de estos me quedo con CodeIgniter y Kohana.
De estos dos, no me atrevo a aventurar una opinión de arbitrio, aunque personalmente me gusta mas CodeIgniter. Además de por lo que ya se ha dicho aquí, porque simplemente tiene mejor soporte de Bases de Datos, en tanto kohana solo posee soporte para Postgres y MySQL.
Aunque cuando por ejemplo tengo que hacer algo en kohana para un servidor DB Oracle, suelo integrar Doctrine. Hice una integración de Doctrine con CI de método propio y otra con Kohana, por razones que ustedes no se si comprendan la de kohana es mucho más limpia.
Nada que quiero decir que normalmente con estos dos frameworks suelo acometer todo los proyectos que me caen en la mano, y lo que trato de hacerles llegar es que según el caso puede ser preferible uno u otro siempre que sepamos explotar a plena capacidad las facilidades que nos ofrecen. Que fuera de mi gusto personal, hay proyectos que aportan problemas que son mas ventajosos tratar desde uno u otro. Que ambos son igual de buenos y que no depende tanto del framework como del programador.