Empezar a programar con PHP nunca ha sido sencillo. El sitio oficial tiene una documentación muy completa de todas las funcionalidades del lenguaje, sin embargo, no es un buen punto de partida para aprender a hacer algo funcional, por ejemplo un módulo con PHP.
Empezando mi carrera autodidacta para ser desarrollador web, recuerdo que imprimí TODA la documentación de PHP y la leí completa durante unas vacaciones.
Hice lo mismo con la documentación de MySQL. Al final no sabía hacer NADA.
Entonces comencé a buscar tutoriales más prácticos de PHP. Por ejemplo las memorias de un aprendiz. ¿Alguien lo recuerda?
Pero hoy en día si quieres trabajar con PHP además tienes que:
Elegir el Framework adecuado
Esto quiere decir que tenga:
- Un desarrollo activo: te garantiza corrección de problemas de seguridad, mejoras, etc.
- Una comunidad activa: la vas a necesitar cuando no sepas cómo hacer algo.
- Buena documentación: puede ser el mejor framework del mundo pero si nadie sabe cómo usarlo no sirve de nada.
Pero la mayoría de los frameworks ya tienen eso: Symfony, Codeigniter, Laravel, entre otros, entonces:
¿Cuál framework elegir?
Hace unos años atrás era una respuesta difícil, mi decisión estaba entre Symfony y Codeigniter, a mí me gustaba más Symfony pero mi equipo de trabajo prefería el segundo.
Symfony era y sigue siendo complejo, muy difícil de aprender, por otro lado, CodeIgniter muy fácil de aprender porque es muy simple, carece de muchas utilidades necesarias en un verdadero framework.
De vuelta al 2013
Hoy en día Symfony 2 es el framework para PHP más robusto que existe, Fabien Potencier, su creador, es una máquina escribiendo código. Es increíble tener en PHP componentes como el DOM crawler (disponible también en Laravel) que te permite recorrer y revisar desde PHP el código HTML como lo harías con Firebug y eso se lo debemos a Fabien.
Sin embargo, Symfony parece no estar escrito para seres humanos. Sólo algunos pocos privilegiados son capaces de aprovechar todo su potencial.
Lo que hace que muchos se hayan ido a CodeIginter, pero…
Porqué elegir Laravel en vez CodeIgniter
CodeIgniter no ofrece nada más allá de sencillez, después de leerte su documentación en un día y tener que enfrentarte a las necesidades de un proyecto real quedas en frente de una carpeta de modelos vacía preguntándote ¿Y ahora qué? Es allí donde:
- Si eres experto, instalas plugins o construyes un sub-framework encima de CodeIgniter para suplir sus carencias.
- Si eres principiante empiezas a lanzar un montón de líneas de código en un controlador.
Codeigniter miente y no tiene ORM propio
Sólo tiene un constructor de queries que ellos dicen que es una versión “modificada” del patrón de diseño Active Record pero eso es falso.El patrón Active Record permite trabajar tus tablas como si fueran clases y tus filas como objetos, con Laravel puedes (así como con Ruby on Rails):
Código :
$user = new User; $user->name = ‘Duilio’; $user->save(); // This is awesome
En Codeigniter sería esto:
Código :
$this->db->insert(‘users’, array(‘name’ => ‘Duilio’); // No active record at all
PHP 5 en adelante está orientado a poner a disposición de sus programadores el potencial de la programación orientada a objetos. Si bien el enfoque de la base de datos de Codeigniter fue funcional en un tiempo, ya quedó en el pasado.
Laravel en constraste tiene un ORM llamado Eloquent y además tiene un constructor de queries llamado Fluent, ambos superan al “Active record” del otro framework.
No incentiva al uso de plantillas en las vistas
En Codeiginiter:Código :
<ul> <?php foreach ($addressbook as $name):?> <li><?=$name?></li> <?php endforeach; ?> </ul>
Contrastado con Laravel:
Código :
<ul> @foreach ($addressbook as $name) <li>{{ $name }}</li> @endforeach </ul>
La documentación de CodeIgniter miente de nuevo al decir que los pseudo-lenguajes de plantillas, como el sistema de plantillas Blade de Laravel, son más lentos en ejecutarse. Esto no es cierto porque todos al final se compilan a código PHP, y lo que se leerá una y otra vez será PHP y no pseudo-lenguaje.
CodeIgniter ofrece un parser de plantillas muy simple, pero éste pierde el concepto de un VERDADERO lenguaje de plantillas: convertir etiquetas de <?=name?> a {{ name }} es sólo la punta del iceberg.
Un verdadero lenguaje de plantillas debe tener herencia de plantillas (layouts) y muchas otras características que Smarty, Twig poseen, allí Blade de Laravel no se queda muy atrás.
Super Controlador al rescate...
Como Codeigniter es tan básico, muchos programadores terminan escribiendo la mayor parte de la lógica de sus aplicaciones en un solo lugar: el controlador.Por ejemplo la clase de rutas es tan simple, que se queda corta en los proyectos de la vida real y no queda más que lidiar con los segmentos de las URL desde el controlador, donde ya tu aplicación debería saber qué hacer.
Incluso en el mismo núcleo de Codeigniter, el controlador es una especie de super clase que está a cargo de casi todo, como lo demuestra esta imagen:
Al tratar de solucionar todos los problemas en una sola capa estarás escribiendo un código difícil de leer y mantener y no estarás aprovechando las funcionalidades que un framework en el año 2013 debe tener para ti.
Laravel tiene rutas, modelos, eventos, filtros, etc. que permiten que tus controladores puedan verse así:
Código :
public function edit($user) { return View::make('admin.users.form')->with('form', $form); }
En contraste con lo que sería Codeigniter:
Código :
public function edit($id) { $user = $this->db->select('users', array('id' => $id)); if (is_null ($user)) $this->error404(); //etc... }
Revisen la documentación de Codeigniter vs la de Laravel en el tema de rutas y comparen la diferencia.
Laravel es FÁCIL
Hace años justificaba que la gente trabajara con Codeigniter, Symfony es muy complejo y otras alternativas como CakePHP son inciertas.
Hoy en día en el mundo de PHP tenemos un framework que está bien hecho, combina las mejores prácticas de desarrollo y hace que nosotros, programadores de PHP podamos escribir un código del cual sentirnos orgullosos.
En tu primer proyecto con Laravel usarás el 40% del tiempo para documentarte, otro 40% para desarrollarlo y un 20% para contemplar cuán genial quedó tu código.
Hoy puedes comenzar a dominar un mejor framework desde aquí en Cristalab: Lee su Introducción, Instalación, Configuración, rutas, controladores, plantillas y finalmente crea tu primer módulo con Laravel paso a paso.
Usen los comentarios abajo o mi twitter @sileence si tienen dudas o quieren más tutoriales de Laravel.
¡Saludos!
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Francisco Ayala el 28 de Noviembre de 2013
Por Duilio el 28 de Noviembre de 2013
Francisco Ayala-blog :
Estamos a la orden, Francisco.
Composer da a veces algunos conflictos pero es una herramienta poderosísima que pondrá a tu alcance cientos de paquetes interesantes para PHP.
Recuerda también registrarte en Cristalab.com
Cualquier duda yo estoy por acá y también en el Twitter.
Saludos!
Por Eduardo Heredia el 28 de Noviembre de 2013
Le daré una oportunidad a Lavarel.
Gracias por el aporte. Es práctico y conciso.
Por Eric el 29 de Noviembre de 2013
Por Duilio el 29 de Noviembre de 2013
Eduardo Heredia-blog :
Le daré una oportunidad a Lavarel.
Gracias por el aporte. Es práctico y conciso.
Gracias a ti por el interés, estamos a la orden
Por Duilio el 29 de Noviembre de 2013
Eric-blog :
Acá depende mucho de tus clientes, mis clientes me piden que trabaje con PHP y por ello uso Laravel. Si tus clientes te piden Python entonces deberías seguir con Django. De todas formas nunca se pierde nada con aprender una herramienta nueva, y como he dicho antes, en los posts para aprender Laravel yo hablo de patrones de diseño y otras cosas que son valiosas sin importar el lenguaje que uses.
También estoy a la orden por acá o Twitter si te surgen dudas.
Saludos!
Por @developerok el 29 de Noviembre de 2013
Por jvinceso el 29 de Noviembre de 2013
Por John el 29 de Noviembre de 2013
Por cierto, creo que una de las razones mas importantes para no usar Codeigniter para proyectos nuevos es que Ellislab (la empresa que creo este framework) ya no le dará más soporte y esta buscando a un nuevo propietario para codeigniter. El anuncio fue dado hace mas de 4 meses y no hay nuevas noticias en la pagina oficial.
http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter
Aun si la comunidad le esta dando mantenimiento solo son pequeños parches y no se ve ningún plan de sacar una nueva versión mayor. O sea, que aun si mañana se encontrara un nuevo dueño para codeigniter y empezara a trabajar para mejorar el framework y sacar una nueva versión mayor, esta estaría miles de horas hombre detrás de frameworks actuales como Symfony o Laravel.
Por Duilio el 29 de Noviembre de 2013
jvinceso-blog :
Me alegra Recuerda que estamos a la orden si quieres o necesitas ayuda comenzando con Laravel, los tutoriales de Cristalab están disponibles, si tienes más dudas escríbeme a @sileence o acá mismo, y si quieres un curso completo puedes solicitarlo a @mejorandola
Saludos!
Por Duilio el 29 de Noviembre de 2013
John-blog :
Por cierto, creo que una de las razones mas importantes para no usar Codeigniter para proyectos nuevos es que Ellislab (la empresa que creo este framework) ya no le dará más soporte y esta buscando a un nuevo propietario para codeigniter. El anuncio fue dado hace mas de 4 meses y no hay nuevas noticias en la pagina oficial.
http://ellislab.com/blog/entry/ellislab-seeking-new-owner-for-codeigniter
Aun si la comunidad le esta dando mantenimiento solo son pequeños parches y no se ve ningún plan de sacar una nueva versión mayor. O sea, que aun si mañana se encontrara un nuevo dueño para codeigniter y empezara a trabajar para mejorar el framework y sacar una nueva versión mayor, esta estaría miles de horas hombre detrás de frameworks actuales como Symfony o Laravel.
Wow, yo no estaba al tanto de esta noticia. Un nuevo dueño podría llevar al framework en cualquier dirección (para bien o para mal) pero mientras tanto tal como comentas el desarrollo queda paralizado y es incierto, lo cual no va a la par de otros frameworks como Laravel cuya versión 4 salió hace poco.
Muy bien aporte John. No dejes de registrarte en Cristalab lleva sólo un minuto o menos Saludos!
Por Spyderp el 29 de Noviembre de 2013
Elegir un framework es una cuestión de equipos de trabajos, nuevos programadores o para empezar un proyecto desde 0 y debe ser analizado con cautela para cada caso.
Por Roger Rojas el 29 de Noviembre de 2013
Por Ramses Cloud el 29 de Noviembre de 2013
Algún día fui un novato y hoy no soy un experto, pero por lo menos acumulo unos buenos años de experiencia en PHP y sus diferentes frameworks
Codeigniter es bueno.... simple pero muy bueno para empezar y de igual manera Laravel, son frameworks como tu dices... "para empezar" son excelentes.
Pero si te quieres dedicar al desarrollo ágil, sostenible y de fácil mantenimiento a largo plazo... con todo respeto, pero creo que te hizo falta investigación y algo parecido.
Porque la respuesta está solo en dos palabras HOY EN DIA!!! Symfony o ZendFramework
¿Por qué? por las mismas palabras que tu dices: desarrollo activo, comunidad activa y buena documentación.
Pero si como tu dices "puede ser el mejor framework del mundo pero si nadie sabe cómo usarlo no sirve de nada"... en el caso de Symfony solo falta lectura porque tiene los 3 pilares que tu mencionaste.
Por otro lado no soy un evangelizador ni nada, solo me guío con lo que dice el articulo y con la experiencia que tengo en Symfony1, 2 y ZendFramework
Eso sin contar que cuando ya eres un experto o crees serlo, entonces te haces a la certificación de Symfony2 o ZendFramework y... bueno de ahí en adelante el ego de cada quien lo definirá.
Para resumir, quien quiera aprender PHP y hacer sus primero pinitos Codeignitero o Laravel, son excelentes decisiones.
Pero cuando quieras desarrollar profesionalmente y hacer software que sea escalable y de código sostenible... entonces me gustaría ver a Codeignitero o a Laravel a ver de qué son capaces.... me gustaría ver si tendrán la misma simplicidad de manejo.....
Se que cuando el desarrollador es ordenado y todo ese cuento... cualquier FW le sirve pero... mejor no sigo escribiendo porque me imagino la discusión tan brutal que se irá a formar.....
Por Ramm el 29 de Noviembre de 2013
Ramses Cloud, cuando dices:
No se en realidad a que te refieres con "desarrollar profesionalmente", ya que actualmente trabajo en una de las agencias digitales mas importantes del sur de Inglaterra, y calificada como una de las empresas con mayor crecimiento en Europa, Asia y el Medio Oriente, nos dedicamos "profesionalmente" al desarrollo de aplicaciones de alto nivel como CRM, y sitios web para clientes muy grandes como GSK, The European Union, BAM, Jaguar, etc. Y aquí usamos Laravel para la muchos proyectos. También usamos Symfony, .NET y otros, y últimamente nos ha resultado mas cómodo trabajar con Laravel. Incluso desarrollando un complejo CRM no se ha quedado corto en ningún sentido.
Por Duilio el 29 de Noviembre de 2013
Ramses Cloud-blog :
Pero cuando quieras desarrollar profesionalmente y hacer software que sea escalable y de código sostenible... entonces me gustaría ver a Codeignitero o a Laravel a ver de qué son capaces.... me gustaría ver si tendrán la misma simplicidad de manejo.....
Se que cuando el desarrollador es ordenado y todo ese cuento... cualquier FW le sirve pero... mejor no sigo escribiendo porque me imagino la discusión tan brutal que se irá a formar.....
Jajajajaja, nada que ver Ramses estaba entretenido leyendo tus puntos y cortaste de pronto.
No estoy al tanto sin embargo si leíste todo mi artículo, porque citándome:
Artículo :
Yo soy pro Symfony, de hecho Laravel usa muchos componentes de Symfony.
Lo que ha hecho Taylor que hace que Laravel tenga tanto éxito es darles a los programadores una sintaxis expresiva, fácil y hasta divertida de usar y recordar, pero eso no lo hace menos profesional, yo con Laravel4 construyo código tan profesional, sostenible y reusable como lo haría con Symfony, pero lo hago mucho más rápido. De hecho en Laravel tengo a mi disponibilidad muchos componentes del mismo Symfony, tengo a mi disposición a Composer y puedo crear paquetes reusables entre proyectos, tengo conceptos tan avanzados como la inyección de dependencias aunque de una forma muchísimo más fácil de implementar y entender, además puedo crear pruebas unitarias, etc.
Quizás porque leíste que Laravel era fácil, pensaste que era lo mismo de CodeIgniter, nada más alejado de la realidad...
Los programadores que estén comenzando puede comenzar a usar Laravel con un enfoque MVC muy sencillo pero cuando quieran dar un paso hacia adelante no tienen porqué cambiar de framework, sólo tendrían que leer conceptos más avanzados que ya están implementados en el núcleo/API de Laravel, y aún así mantener la sintaxis expresiva y sencilla que todos puedan reusar.
Para muestra un botón: aunque de manera muy accesible en este artículo hablo de conceptos muy avanzados como inyección de dependencias, interfaces, etc. implementados en Laravel: http://www.cristalab.com/tutoriales/controladores-y-mvc-con-laravel-c111505l/
Por Al Herrera el 30 de Noviembre de 2013
Por Duilio el 30 de Noviembre de 2013
Al Herrera-blog :
De hecho Laravel viene con un constructor de queries llamado Fluent (del que hablaré luego también): http://laravel.com/docs/queries#advanced-wheres
lo que hace es que te da un wrap orientado a objetos para poder construir queries (desde simples hasta complejos) sin necesidad de concatenar cadenas.
Con Eloquent (el ORM) también usas Fluent.
No creo que lo que digas sea verdad en nada, de hecho cuando hablas de abstracción dominar ese concepto te va haciendo más inteligente.
Lo que te da un framework (Laravel u otro) es la solución a problemas comunes para que tú como programador puedas PENSAR en la lógica de tu proyecto como tal, y no quedarte atascado en cómo hacer una redirección o validar un dato básico o hacer un query básico, pero sin duda tu proyecto va a presentar problemas mucho más grandes y necesitarás activar tus neuronas para resolverlo.
Así que no se preocupen, Laravel no causa alzheimer
Y si fuera el caso de que el framework resolviera absolutamente todo por ti al punto que no tuvieses que programar nada, pues podrías usar ese tiempo libre extra para practicar ajedrez que es muy bueno para la mente.
¡Saludos!
Por Sonichaos el 01 de Diciembre de 2013
Por leviatanMX el 01 de Diciembre de 2013
y para una pagina secillona que acceda a datos, pues cualquiera de script php, asp, coldfusion, con html y jquery
y para sistemas con bases de datos ya sea local, cliente/servidor o 3 capas, sin pensarlo usaria PowerBuilder
Por Radiks el 02 de Diciembre de 2013
Claro que una empresa quiere soporte instantáneo entonces jamás podrá tener lo último del mercado, sino que le tocará conformarse con cosas como java, .net y parecidos.
Se imaginan una ERP diseñada al estilo red social?... eso es algo que java o .net o parecidos pueden hacer pero, a qué costo?
Lo mismo con PHP y sus frameworks, necesitarían maquinas musculosas para arrastrar con algo así.
Entonces, ¿cual es la solución? NodeJS y sus aliados, sin dejar de lado las DB como Oracle o SQL Server.
Por pablofmorales el 02 de Diciembre de 2013
Veo muchos errores de concepto en tus argumentos. Si bien comparto que codeigniter es un desastre, no creo que laravel se quede atras.
Pero me parece que el problema no esta en el framework sino en la gente y como lo usa, en tu ejemplo de como usar el ORM desde el controller el problema esta en el entendimiento de MVC, no en como el framework lo maneja.
Por otro lado no existe un silver bullet que puedas usar para todos. Ningun framework es una solucion integral a todos los problemas de desarrollo.
Por otro lado laravel usa singleton por todos lados, la verdad es que no toque ningun proyecto con laravel pero revise el core hace un par de meses y me aburri de hecho en tu ejemplo ya usas la vista como una clase estatica, Dios se apiade de ti cuando necesites mockear eso.
No digo que uno sea mejor que el otro, para mi tampoco necesitamos de un framework para desarrollar una aplicacion web.
Podes apoyarte en un framework para desarrollar pero no podes hacer que el framework sea tu aplicacion. Como dice un tal Uncle bob
http://www.youtube.com/watch?v=asLUTiJJqdE
Por Duilio el 02 de Diciembre de 2013
pablofmorales :
Por otro lado laravel usa singleton por todos lados, la verdad es que no toque ningun proyecto con laravel pero revise el core hace un par de meses y me aburri de hecho en tu ejemplo ya usas la vista como una clase estatica, Dios se apiade de ti cuando necesites mockear eso.
En L3 sí lo que dices era cierto, L4 usa Facades para seguir manteniendo la interfaz fácil de usar que todos amamos (View::make, Route::get, Redirect::to) debajo de eso no hay clases estáticas sino el patrón Facade que instancia los objetos y a todo se le puede hacer unit test, de hecho el código de Laravel incluye unit tests.
http://laravel.com/docs/facades
http://laravel.com/docs/testing
Por leviatanMX el 02 de Diciembre de 2013
si nos ponemos a discutir, seria una discusion sin fin, jaja
saludos
Por godie el 02 de Diciembre de 2013
Por masterojitos el 06 de Diciembre de 2013
Por Ramses Cloud el 06 de Diciembre de 2013
??????????????????
Por Duilio el 10 de Diciembre de 2013
masterojitos :
Me gustaría ya que toda la discusión se ha desviado a Symfony. Las personas de CI simplemente ya aceptaron que es hora de cambiar
Voy a tratar de escribirlo, pero voy a necesitar reinstalar un proyecto con Symfony e investigar mucho qué ha cambiado con Symfony, incluso creo que ya viene la versión 3.
Por leviatanMX el 10 de Diciembre de 2013
Ramses Cloud-blog :
??????????????????
mmm pero si ruby tambien utiliza frameworks para trabajar, ya que hacerlo a pelo esta cabron
http://vemod.net/list-of-ruby-web-frameworks
lo mismo pasa con python
es por eso que yo no desarrollo paginas web, ni sitios web, cuando alguien me ha pedido los bateo, los mando x un tubo, no asi, una aplicacion web que estoy desarrollando con Flex + php + mysql
Por Duilio el 10 de Diciembre de 2013
leviatanMX :
Ramses Cloud-blog :
??????????????????
mmm pero si ruby tambien utiliza frameworks para trabajar, ya que hacerlo a pelo esta cabron
http://vemod.net/list-of-ruby-web-frameworks
lo mismo pasa con python
es por eso que yo no desarrollo paginas web, ni sitios web, cuando alguien me ha pedido los bateo, los mando x un tubo, no asi, una aplicacion web que estoy desarrollando con Flex + php + mysql
Y flex acaso no es otro framework?
¿Y por qué patear clientes que quieren un sitio web? ¿Es la web acaso mala? Por qué la usas entonces?
¿Cómo trabajas el backend con PHP? ¿A pie?
Por leviatanMX el 10 de Diciembre de 2013
y cuando digo a pie, me refiero a tener que escribir cantidades indistriales de codigo cuando hay mejoras cosas para hacer las cosas, pero bueno cada quien tiene sus gustos, y no desprecio la web, me refiero a los desarrollos, nunca me ha gustado el desarrollo web, entiendase paginas web o sitios web ya sean estaticas o dinamicas, prefiero aplicaciones administrativas, actualmente estoy desarrollando una para un taller que el dueño quiere tener acceso a la informacion desde donde se encuentre, me van a decir, pues hasla en php puro con html5 mas jquery, o hasla con ruby on rails, o con djago, con asp.net, etc. ya los he probado todos y no me gustan.
POR ESO DIGO DE NUEVO CADA QUIEN SUS GUSTOS
Duilio :
leviatanMX :
Ramses Cloud-blog :
??????????????????
mmm pero si ruby tambien utiliza frameworks para trabajar, ya que hacerlo a pelo esta cabron
http://vemod.net/list-of-ruby-web-frameworks
lo mismo pasa con python
es por eso que yo no desarrollo paginas web, ni sitios web, cuando alguien me ha pedido los bateo, los mando x un tubo, no asi, una aplicacion web que estoy desarrollando con Flex + php + mysql
Y flex acaso no es otro framework?
¿Y por qué patear clientes que quieren un sitio web? ¿Es la web acaso mala? Por qué la usas entonces?
¿Cómo trabajas el backend con PHP? ¿A pie?
Por Duilio el 10 de Diciembre de 2013
Por leviatanMX el 12 de Diciembre de 2013
Duilio :
???????????????? que parte no entendiste que yo decidi hacer ese proyecto en Flex por la rapidez desarrollo y la potencia de la herramienta, no queria estar perdiendo el tiempo escribiendo html mezclado con php o el que se te antoje
ya mejor dejamos el tema aqui, yo puedo hablar y opinar de estos temas, porque he programado en FoxPro, Visual FoxPro, Visual Basic, Delphi, PowerBuilder TAMBIEN en php, asp, coldfusion (mal valorado, quizas por el precio, jajajajaja, pero existe open blue dragon ), y Flex (RIA's), algun tiempo estuve probando SilverLight pero francamente es una mala copia de Flex
hasta aqui la discusion, cada kien utiliza lo que quiere
saludos
Por Campo Elias el 12 de Diciembre de 2013
El planteamiento de Rasmus Lerdorf iba en la dirección de que todo desarrollador debería desarrollar su propio código sin necesidad de depender tanto de un framework. Este es un punto de vista del creador de PHP.
La comparación de Laravel vs Codeigniter en estos momentos parece fuera de lugar porque da la impresión de que CI va de salida mientras que Laravel se presenta con futuro, dispone de bastante documentación y tiene una comunidad activa. Todas esta características las tiene CI excepto “futuro”.
Estoy comenzando a ver Laravel y me parece bastante sencillo y atractivo. Bien merece probarlo y conocerlo más a fondo. La búsqueda en twitter del termino laravel arroja cada minuto nuevos resultados eso demuestra el interes actual de la comunidad en este framework.
Unos van y otros vienen. Asi es el mundo de la tecnología.
Por Israel el 31 de Diciembre de 2013
Por el 30 de Enero de 2014
Por izofer el 06 de Febrero de 2014
pero Laravel es maravilloso, su estructura, su sencillez, y su gran ORM del cual te ayuda con muchos dolores de cabeza... ademas de que posee una muy buena seguridad. Yo le apuesto mucho a Laravel, tiene un muy buen futuro, y yo personalmente ando construyendo un proyecto muy grande con el. en si, lo recomiendo mucho. y si quieren iniciar en Laravel les recomiendo un libro muy bueno para los noobs que es https://leanpub.com/codebright con ese libro aprenderán como un carajo...
Por Sergio el 20 de Febrero de 2014
De otro lado Laravel no es nada lightweigjt, el framework solo mide casi 30 MB y te demoras un montón en instalarlo por que tienes que usar el composer.
Y perdona que te diga, pero este código;
return View::make('admin.users.form')->with('form', $form);
No tiene NADA de claro.
Por Freddie el 21 de Febrero de 2014
Sergio-blog :
Por Xcytek el 04 de Abril de 2014
Por Mateo el 10 de Abril de 2014
Por DANUVIO el 04 de Mayo de 2014
Ya en serio, esto deja mal parado a Cristalab. (Por lo menos con los desarrolladores serios o experimentados mejor dicho. Aunque quizas esa es la tactica solo abarcar al grupo de aprendices)
Por juan el 07 de Mayo de 2014
Por aitorxs el 17 de Mayo de 2014
Por FB el 10 de Junio de 2014
Como ya le he hecho con los otros, investigaré de Laravel, pero con este blog ya me formé una muy buena idea.
Gracias.
Por alheranx el 02 de Agosto de 2014
Por Henry el 21 de Agosto de 2014
Eso me parece mo lesto, por eso si es con Cristalab o cualquier otro producto que tenga que ver con estos señores prefiero no tener relacion alguna
Por Dennis_CM el 02 de Octubre de 2014
Por TRUE el 24 de Octubre de 2014
Por Laureano el 17 de Noviembre de 2014
Por sam el 12 de Abril de 2015
Por oscar el 14 de Abril de 2015
Por Juan el 13 de Mayo de 2015
Hace tiempo usé Symphony (1.2) y acabé hasta las narices de él. Muy complejo, documentación no 100% fiel a la realidad, y leeentoooo de narices. Cuando desarrollas no te das cuenta del factor de velocidad, ya que en frameworks como Symphony desarrollar directamente en el servidor de producción es casi inviable por productividad. Imagínate que te pasas meses desarrollando y cuando sacas la aplicación a produción te das cuenta que es una castaña de leeenta. Además sacaron la versión 1.4 ó 2 (no recuerdo) y cambiaron un montón. Teminé harto ... ¿ cómo le explicas a un cliente al que acabas de entregar una aplicación hace meses que se ha producido un cambio en el framework de desarrollo al que sólo se le da ya soporte y si quiere seguir con la evolución eso supone rehacer una parte importante del proyecto ?
Después de esto, al año tuve una necesidad para un proyecto pequeñito de un par de semanas y opté por Code Igniter. Me encantó. Sencillo, rápido y funcional, con buena y clara documentación. El tema de los formularios/CRUD no eran la panacea ni tan completos como Symphony, pero correcto. Me costó aprenderlo 3-4 días y pude desarrollar la aplicación en tiempos y con buen rendimiento.
Un año después me veo en un proyecto personal donde estoy intentando usar Laravel 5. Después de mis experiencias lo estoy probando porque CI tenía una serie de deficiencias que probablemente a un futuro puedan ser problemas para este proyecto. Eso unido a que el framework se actualizaba poco y existe un número considerable de desarrolladores que están pasando a Laravel, pues me ha hecho probarlo.
Después de mis experiencias anteriores estoy evaluando sencillez de desarrollo, documentación, proyección y velocidad.
Bien. Mis impresiones es que Laravel es un Symphony recortado (comparte librerías de symphony) lo cual inicialmente y mi experiencia anterior me pone los pelos de punta. De Laravel 4 a 5, han cambiado bastantes cosas, como entre otras la organización de los ficheros y el uso de namespaces a cascoporro. Eso conlleva un curro interesante para los que quieran pasar de 4 a 5. Como digo me recuerda mucho a Symphony pero eliminando cosas complejas y simplificándolo. Sin embargo carece de asistentes como dios manda para crear modelos, controladores, etc partiendo de una BD existente. No dispone de herramientas que te creen automáticamente las operaciones CRUD ni las vistas.
Adicionalmente hay gente que están desarrollando extensiones para hacerlo, pero están muy muy verdes.
Y por último velocidad. Mientras desarrollas no aprecias la velocidad real, pero haciendo pruebas de apache me confirma mis temores.
Una sencilla página en una máquina virtual con 1GB RAM y 1 núcleo I5 3570K (quitando el modo debug y optimizando con artisan) que muestra un listado paginado de una BD me consigue servir sólo 10 páginas / s. En ese mismo entorno una web tradicional que muestra igualmente un listado, sin URL friendly, sin ningún framework, me ofrece en la misma máquina 380 páginas/s. Otra web con URL friendly y tradicional 125 páginas/s.
Una orientación a objetos hasta la saciedad, redirecciones, inyección de dependencias, "autocargas" de clases, "métodos mágicos", Serivice Providers, Facades, etc (que desde un punto de vista formal y académico son muy últiles) y refritos en vinagre hace que estos frameworks funcionen a pedales y tengas que cubrir la ineficiencia software con más hardware o incluyendo elementos externos (CDNs, Cache de Bytecode PHP, etc) para conseguir un rendimiento decente.
El rendimiento es una cuestión que después muy pocos tienen en cuenta. Si vas a servir una página que visitan 4 almas solitarias de cuando en cuando Ok. Pero en un mundo donde ya sólo los spiders de los buscadores (y cada vez hay más) te originan visitas, que consumen recursos... ¿ cómo no vamos a pensar en la velocidad de estos frameworks ?
Y eso de que son sencillos ... Para entender el código debes trazar los N ficheros en los que se subdivide o heredan los objetos que estás utilizando y que además tienen rutas muy largas, a las que no te puede llevar automáticamente cualquier IDE debido a que ahora se usan los namespaces por todos lados.
En definitiva, Laravel bien, pero entendamos lo que usamos. Personalmente me gusta más el enfoque "sencillo" y sin envolturas rocambolescas de Symphony o Laravel.
Por JOE el 26 de Mayo de 2015
Por Pablo el 18 de Junio de 2015
Por sign4l el 18 de Junio de 2015
Por MrJack el 06 de Julio de 2015
Por Ganons el 12 de Julio de 2015
Si CI nunca me ha dado problemas y he logrado crear buenos proyectos por que cambiar o no usarlo ?
Por JorgeRD el 14 de Julio de 2015
Vamos de la fantasía a la realidad, es decir, de la ingeniería de software al software.
Cuando se habla de una aplicacion cuyos usuarios seran limitados es facil desarrollar con un framework y usar cuantas tecnicas de ingenieria de software nos pasen por la cabeza. Sin embargo, cuando se quiere sacar el maximo partido a PHP hay que tener mucho cuidado sobre que tanta ingenieria integrar en nuestros proyectos.
Hablo de ingenieria de software porque es precisamente lo que los frameworks hacen: poner esta a nuestro alcance para que el desarrollo de apps sea mucho mas sencillo. Pero, seamos practicos... que tanto quiero yo de PHP? La respuesta es muy simple: quiero una pagina despues de hacer mi solicitud!
El problema de los frameworks es que toda su ingenieria se aplica a todas las peticiones y sus maneras de hacer las cosas no son optimas para todas las situaciones.
Con la ingenieria de software es mas facil hacer esto:
-> busca los ids -> carga la data segun estos ids (dos querys)
Con php puro o un framework mas basico seria asi;
-> busca la data segun este query
Aunque no puedo negar que me gusta mas el primer enfoque (por facilidad) tengo que admitir que el segundo es mas optimo desde el punto de vista del rendimiento.
Al final, los frameworks te permiten hacer apps muy rapidamente y si eres muy diestro lo haras a velocidades inimaginables. Pero, en el mundo real las aplicaciones deben estar optimizadas, y la optimizacion comienza por el codigo. Quieren entender a que me refiero? Intenten crear una lista de posts donde cada post tiene anidados sus posts hijos y ademas con paginacion! Un framework te inspira a tomar el enfoque mas facil: carga el post (una query) carga sus posts hijos (otra query, y peor, esta es la query se va a repetir dentro del bucle. ERROR PANTALLA AZUL), mientras que libre de framework puedes idear una estrategia mas adecuada.
No digo que no deba usarse un framework, ni que no se puedan hacer apps de alto rendimiento en frameworks. Pero, vuelvo y pregunto.. que tanto esperas de PHP?
Por mas que queramos PHP solo da una respuesta a una solicitud, por lo general una pagina web. Entonces basado en esto, hay que preocuparse porque esta respuesta sea lo mas optima posible: < 200ms latencia.
Yo soy partidario de CI y creo que es una buena opcion ya que hay una compania detras de el. Ademas, te permite estructurar tu app, es decir aplicar la ingenieria basica para que tu proyecto fluya.
Los demas tienen piezas de codigo admirables, una ingenieria preciosa! Pero vuelvo y preunto: que tanto quieres de PHP?
yo quiero una pagina despues de hacer mi solicitud! y ustedes que quieren?
Por diegotham el 16 de Diciembre de 2015
No he probado CI pero creo que la batalla ahora es Symfony VS Laravel
Por abrkof el 02 de Marzo de 2016
Por Uriel Intelldev el 12 de Abril de 2016
Creo que por lo que hablas, es que no sabes usar codeigniter, tanto como deberias, ya que un framework es para que te ayude a realizar las cosas de la mejor manera, más rápida y más fácil. Si combinas Codeigniter, con Bootstrap, usas Smarty (para los templates), añades getText (para las traducciones de lenguajes) y además incluyes el famoso extendido HMVC.. ufff!!, super potente framework, pero realmente es el lenguaje de programación que se te acomode mejor..
Mi humilde Opinión.
www.intelldev.com
Por Hugo el 05 de Mayo de 2016
Para mi esto es más natural:
<?php foreach ($addressbook as $name)>
Que esto:
@foreach ($addressbook as $name)
Yo tengo todos mis desarrollos en CI, y veo Laravel y de verdad lo encuentro más complejo,,,,
Por nickypob el 06 de Mayo de 2016
Por angelduque9108 el 21 de Mayo de 2016
Bueno quería dejar el Aviso de que si alguien sabe de alguna empresa o persona que necesite trabajador freelance por favor me haga contactar, me especializo en el desarrollo web front-end y back-end, maquetación web, uso de API, ajax, frameworks bootstrap, jquery, codeigniter, fundation, ..., análisis y diseño, reigeniería, manteniemiento, algoritmica, etc...., mi correo es [email protected], gracias
Por Alejandro Lopez el 28 de Mayo de 2016
Por Leonard Bustamante el 03 de Julio de 2016
Por David el 06 de Julio de 2016
Por Rex Luis el 16 de Agosto de 2016
Y recomiendo investigar HMVC para sus proyectos grandes.
Tambien estoy implementado dashboard gentelella de Colorlib, para mi dashboard de administración, simplificandome aún más el desarrollo de proyectos.
Concluyo
Recomiendo CodeIgniter, Gentelella ColorLib y Ace que tambien está en ColorLib.
Por ROGER RAMSES el 22 de Agosto de 2016
Por el Mentor el 10 de Septiembre de 2016