Laravel: El framework de programación web al rescate de PHP

Como programador senior de aplicaciones web es apenas lógico que haya tenido algo (o mucho) que ver con el lenguaje de programación PHP. Casi con seguridad es el lenguaje más usado en el mundo para programar páginas o sitios web dinámicos. Su practicidad y relativamente rápida curva de aprendizaje lo hacen la primera opción para programadores junior o incluso para gente que no desarrolla software normalmente pero que se atreve a experimentar con pequeños y sencillos programas para alguna determinada funcionalidad que se esté necesitando en algún website en el lado del servidor, la cual no se pueda hacer o resulte muy complicado hacerla con Javascript en el lado cliente. Sin embargo, como pasa en muchas cosas, la popularidad llevó a PHP a ser el lenguaje de las masas (bueno, en términos relativos) y sinónimo de poca sofisticación para algunos ingenieros de software, lo cual es un poco injusto, pues PHP a pesar de su facilidad tiene un grado de poder bastante aceptable para, probablemente, alrededor del 80% de las aplicaciones web.

De cualquier manera, para algunos programadores de “élite” (o que pretenden serlo) parece que programar en PHP es un sacrilegio o algo a lo que no se pueden rebajar. Aunque es evidente algunas desventajas en tiempo de ejecución cuando se le compara con otros lenguajes como Python, la verdad es que programar en PHP no significa que uno sea un programador vulgar, ni mucho menos. Y de  hecho, al ser tan popular, el conocer como programar muy bien en PHP es sinónimo de tener muy buenas posibilidades de participar en múltiples proyectos de desarrollo web, grandes y pequeños, especialmente si somos desarrolladores de software independientes o contratistas.

Durante mis años como programador he conocido otros lenguajes de programación del lado servidor:

  • Alguna vez desarrollé con ASP.NET: Debo decir que me pareció supremamente complicado incluso para las funciones más sencillas, algo muy típico de las cosas de Microsoft. Además incluye una infinidad de características y utilidades, muchas de ellas casi nunca usadas o conocidas por el programador promedio. La verdad, ASP.NET jamás me gustó.
  • También trabajé con JSP. Sólo resumo que, por decisión personal, hoy en día trato de alejarme todo lo que pueda de cualquier herramienta que me recuerde muy profundamente a JAVA. Lo asocio con dolor de cabeza. Aunque no discuto su utilidad en muchos casos.
  • Y Python. En mi opinión, de los que he conocido, este es el mejor. Y si se combina con el excelente framework Django, tenemos una herramienta de programación muy eficiente, con código estético y muy ordenado (casi que se obliga al programador a ser ordenado) y con un conjunto de funciones muy poderosas que muchas veces nos permiten hacer en una línea de código algo que en otros lenguajes tal vez requiera 10… o incluso 100.

De hecho, Python desplazó a PHP en mis preferencias para programar hace mucho tiempo, especialmente porque PHP no tenía, para mí, un framework MVC que le pudiera competir al gran Django… hasta que conocí a Laravel.

Anteriormente había usado CakePHP (entre otros), el cual puede ser útil al implementar con PHP, especialmente para ahorrar tiempo de desarrollo, pero su estructuración hace que a veces se tenga que dar demasiadas vueltas para hacer ciertas cosas, especialmente en la manipulación compleja de las tablas de una base de datos por medio de los modelos.

Pero Laravel, en cambio, parece haber sido estructurado buscando que el resultado de su complejidad interna sea, y no hay paradoja, una gran sencillez para la implementación de las aplicaciones web… o mejor dicho, en Laravel se trata de tener el mayor poder posible en cada característica del framework de manera que el programador pueda lograr la implementación de controladores, modelos y vistas con una simplicidad que a veces resulta sorprendente.

Por ejemplo, en Laravel la definición de un modelo para manipular la base de datos toma a veces una simple línea de código. Una. Y no por eso el modelo deja de ser poderoso. En eso tiene mucho que ver el increíble Eloquent ORM (Object Relational Mapper).

No hablo aquí de aspectos más técnicos de Laravel porque en el sitio web hay un excelente Quickstart para los que no conocen el framework, el cual se puede tomar a manera de ejercicio para conocer rápidamente las principales características de este increíble framework que me ha hecho reconsiderar la decisión de tener a Python como la primera opción para implementar las aplicaciones web de mis clientes. Y es que, en algunos casos, los clientes prefieren algo más “estándar” por llamarlo de alguna manera. Y PHP sigue siendo muchísimo más popular que Python.

Laravel es como el “Django de PHP”. Me encanta. Ya era hora que, después de tantos años, PHP tuviera un framework elegante, eficiente y poderoso.

Larga vida a PHP… y a Laravel.