Aprendiendo Symfony y Codeigniter
Desde hace algunos días me la he pasado discutiendo con un amigo del trabajo acerca de nuestro futuro como programadores. Esto me llevo a preguntarme ¿ahora que debo hacer? Personalmente me gusta mucho desarrollar para la web (poco los programas de escritorio) y pues aunque nunca he hecho algo “verdaderamente” enriquecedor, estoy seguro de que el momento llegará tarde o temprano.
Así pues, analizando mi situación me dediqué a volver a lo que mejor sabía hacer: leer blogs de tecnología, de programación de entretenimiento, en fin… por este largo lapso de tiempo encontré lenguajes y modelos de trabajo que me llamaron mucho la atención, pero que lastimosamente en mi país (Colombia) son poco apetecidos, ya sea por desconocimiento o por que definitivamente seguimos bajo el monopolio de las empresas que siempre han dominado el mercado e impiden alejarnos de ellas por uno u otro motivo.
Bueno, aquí les dejo un pequeño resumen de los dos frameworks para web que mas me ha llamado la atención:
Symfony: es un framework de desarrollo de páginas web escrito en php y que ha venido creciendo y volviéndose muy popular en estos días, se basa en el modelo de trabajo MVC (modelo, vista, controlador) y aún lo sigo aprendiendo (aunque es sencillo, requiere tiempo pues tiene una curva de aprendizaje algo elevada). Su documentación es muy amplia y no tiene desperdicio alguno. Si eres programador web te lo recomiendo en un %100 pues notarás mucho las ventajas que se te presentan.
Codeigniter: este es otro framework que no tiene desperdicio, si quieres desarrollar una aplicación web y no tienes suficiente tiempo para aprender Symfony, Codeigniter es la solución. Hice muchas cosas que normalmente me hubieran podido tomar mucho tiempo si las hubiera hecho de cero (re-inventando la rueda). También te lo recomiendo en un %100.
Me gustaría mucho poner algunos ejemplos, pero tengo poco tiempo y además siento que sería repetir de una u otra forma lo que pueden encontrar accediendo a los enlaces de ambos proyectos y sobre todo a librosweb.es
Sin duda CodeIgniter no tiene desperdicio alguno.
Muy recomendable. Fácil de aprender, fácil de utilizar, la documentación es excelente y tiene una comunidad de usuarios muy activa (y en aumento).
Un saludo.
Llevo trabajando con Symfony ya por más de dos años, y desde que lo conocí hasta el día de hoy nunca me ha decepcionado, siempre tratando de hacer las cosas más fáciles, y a la vanguardia de las nuevas metodologías en el desarrollo web. Si bien su curva de aprendizaje es alta, hay tuoriales como Jobeet que enseñan lo básico para empezar a usarlo, y la comunidad crece a pasos enormes. El concejo, úsenlo y no se arrepentirán. Saludos
Coincido con el post y Jonathan en Symfony. El apoyo de la comunidad crece rápidamente, incluyendo la comunidad de habla hispana. Un punto negativo de Symfony puede ser su continuo desarrollo, que le lleva a sacar versiones (y por lo tanto a actualizar) cada poco tiempo, pero por mi experiencia merece la pena.
Muchas gracias por sus comentarios!
yo estoy reprogramando esta web (espero que este terminada en navidad) cono CI y la verdad es que le encuentro algunas limitaciones. Sobre todo que en cada funcion hay que repetir mucho codigo del cual solo cambian pequeñas variables. Es decir, podria mejorar el sistema de plantillas. Por ejemplo asociando un layout a la clase y luego llamando a un placeholder o algo asi. Otra limitacion es tener que programar enteramente los models. Es decir repetir codigo de crud para cada modelo. No se creo que tal vez le falte una consola de comandos o algo que le puedas decir “create-models-for script-del-esquema.sql” y luego simplemente crearte un model extendido para metodos mas precisos, pero reprogramar cada vez… que rollo. Pero bueno creo que para empezar esta muy bien. Para mas nivel recomiendo Zend o Symfony yo en mi empresa uso CI porque soy el unico informatico que sabe de programacion web y si me fuera pienso que CI tiene una curva de aprendizaje muy baja y no les costaria mucho hacerse con el.
Saludos!
Tienes toda la razón Jorge, el esquema DRY (don’t repeat yourself o “no te repitas”) es claro en Symfony en este sentido, muy pocas veces o nunca vamos a repetir algún segmento de código, cosa que si “nos toca hacer” en CI. Gracias por tu comentario!
queria agregar una cosa quizas a muchos cuando empiezan les pasa esto, buscan la herramienta que mas facilita las cosas (osea una herramienta pensada en el programador), pero a la hora de la verdad (cuando consiiguen trabajo ) se encuentran con que su herramienta no sirve.
Me aprendi todo lo que pude sobre symfony y me parecio fascinante, incluso me deshice de codeigniter…pero en mi trabajo los servidores son php 4 y es imposible actualizarlo (no tengo permiso para hacerlo). Asi que desenterre codeigniter y ahora que lo conozco mejor empiezo a pensar que se le puede hacer parecido a symfony.
Ahi va lo primero que podemos mejorar :
Agregar layouts a codeigniter sin usar hooks:
http://yoprogramando.blogspot.com/2010/04/layouts-in-codeigniter.html
Espero tener tiempo para poner mas cosas mejorables (porque ya he hecho varias).
Hola a todos, para empezar soy de Cali – Colombia, pues bien siempre he creado mis cosas desde cero completamente, me cansé de eso y ahora tengo mi propia plataforma, por así decirlo y siguiendo las reglas de papá Rasmus Lerdorf (para los que no saben, él es el creador de la primera versión de PHP) “no utilices frameworks y sino utiliza CodeIgniter” en fin.
Tengo mi propia plataforma de desarrollo y pues mi plataforma aun no terminada en su aspecto de gestión de usuarios y módulos (solo en forma visual porque a nivel de programación está lista para trabajar), no la conoce lógicamente nadie y en mi nuevo trabajo me veo obligado a trabajar en un FrameWork para dar orden a la situación, miré el Symfony y…. como leí en este post o en otro “si me da más de 30 minutos sin poderlo configurar…” la verdad que le he dedicado tiempo a eso y no he salido con nada, puede que sea muy poderoso en su aspecto de la linea de comandos y tener una comunidad gigantesca pero si el FrameWork no se deja utilizar fácilmente…
Mejor dicho le he echado una ojeadita al CodeIgniter y pues la verdad que me parece mucho más sencillo, mucho más fácil de manejar y en fracciones de segundos lo pone uno a trabajar.
De corazón me gustaría trabajar en Symfony pero… la verdad que no he podido ponerlo a andar.
Salu2
Se me había olvidado decir alguito, puede que el CodeIgniter no traiga funciones nativas para manipular AJAX pero… eso no es excusa para utilizar librerías como el jQuery y demás
en mi experiencia coicido con muchos , codeigniter se demora mas bajandolo que ponerlo a andar joder ademas el manejo de url amigables es bastante facil no tiene ventana de comandos si es cierto pero trabaja el mvc muy facil y sin complicacion alguna, es cuestion de costumbre este framework tiene bastante desempeño y el mas rapido que muchos de estos , para acceder a la base de datos es sencilla es solo configurar los parametros de conexion y listo a molerle ademas trabajaba db :
mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
$db['default']['dbdriver'] = “mysql”;
simplemente le dices con quien deseas trabajar y listo muy bueno cuando quieres pasar tu aplicacion por lo menos a posgres y queda listo!!!..
symfomy es un mundo y si no sabes muy bien php y no estas familiarizado con poo pues te va acostar auun mas ya que como dicen aprender un framework es como aprender casi un lenguaje ya que trabajar mucho lo que este tiene para ti….
conclusion CI es muy bueno y completo para proyectos que necesiten ser rapidos y aguiles pero si tienes el tiempo y mucho tiempo pues ponte a estudiar symfony o zend framewrks ya que este ultimo supera a todos en versatilidad en complementos pero yo creo que deben de empesar por ci y despues migrar a estos dos ultimos si ven que CI no evoluciona a lo esperado …. aqui les dejo algunos videos para empezar :
primeros passos
http://vimeo.com/8360048
Accediendo a base de datos mysql :
http://vimeo.com/8642530
trabajando mvc… y una aplicacion CI:
http://www.okadadesign.no/blog/category/codeigniter/
bueno espero que empiecen desde ya!!!!…
CodeIgniter es un poderoso Framework para PHP que facilita la escritura de código repetitivo, y a comparación de otros Frameworks cómo CakePHP, Symphony o Zend Framework, Codeigniter es más rápido pero menos fácil ya que carace de algunas librerías que los otros frameworks tienen, pero aúin así no deja de ser un buen framework además de que es totalmente extensible y altamente compatible con gran variedad de versiones y configuraciones de PHP.
Guia en español y ingles :
http://www.conocimientovirtual.edu.co/descargas.html