Laravel y otros frameworks
En los últimos años pudimos ver cómo las tecnologÃas web han ido creciendo a pasos agigantados, transformando el modo de vivir de millones de personas. DÃa a dÃa nos maravillamos de las posibilidades y comodidades que nos proporcionan esas nuevas herramientas, descubriendo y experimentando un mundo dentro de Internet.
Teniendo en cuenta esto, y haciendo un pequeño análisis retrospectivo, podemos ver cuánto creció el espacio web. En la actualidad, existen más de mil millones de sitios web a los cuales podemos acceder con un solo click, sin importar las distancias fÃsicas que nos separen. Entre tantos y tantos, la popularidad de cada uno residirá en la capacidad de innovación y profesionalismo de cada programador. Un sitio atractivo, interesante y que haga que las personas se queden navegando en el, será el desafÃo más importante para los trabajadores de la web.
Desarrollador web
Para abastecer y mantener este enorme mercado de sitios web se necesita diariamente de muchas personas. Por ese motivo es que existen multitud de desarrolladores web en el mundo. Están aquellos que trabajan en empresas, mejorando e implementando a diario soluciones. Y otros que trabajan desde sus casas, conocidos como ‘freelancers’.
Como cualquier otro trabajador, el desarrollador web necesita de sus herramientas para poder realizar su trabajo. Son muchos los elementos a tener en cuenta al iniciar un proyecto web, por ejemplo: lenguajes de programación, IDEs, frameworks, sistemas operativos, etc. La mayorÃa de estas tecnologÃas están en constante actualización, lo que hace que un desarrollador siempre esté alerta a las nuevas tendencias y sus beneficios.
En esta oportunidad estaremos analizando los frameworks PHP, teniendo en cuenta que PHP es sin duda uno de los lenguajes de programación más utilizados en la actualidad.
¿Qué es un framework?
Si te dedicas al desarrollo de software es muy probable que hayas escuchado esta palabra en algún momento. Si bien no es un concepto sencillo de definir, cualquiera con experiencia podrá captar su sentido con tan solo oÃr la palabra. Una posible definición (un poco estructurada) que podemos encontrar en la web dice que un framework es una estructura conceptual y tecnológica de soporte definido, normalmente, con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software.Â
En particular, definirÃa al framework como una herramienta, o marco de trabajo, que posee una estructura definida, la cual permite organizar y con ello facilitar el desarrollo de aplicaciones.
Teniendo en cuenta que hoy en dÃa cada vez es más común la utilización de frameworks al momento de desarrollar, sin importar el lenguaje de programación o proyecto; debemos mencionar que su utilización tendrá un coste inicial importante, debido al aprendizaje que requiere manejar el mismo. Sin embargo, es muy probable que a largo plazo el framework mejore y facilite el desarrollo y mantenimiento de la aplicación, obteniendo varios beneficios de esto, siendo capaz de tener un código reutilizable, ‘limpio’ y por lo general en un menor tiempo de desarrollo.
En la actualidad existen diversos frameworks PHP que se pueden utilizar. A continuación, se mostrará una gráfica comparativa (según Google Trends 17/03/2017) entre cinco de los frameworks más utilizados en los últimos años, en la cual se puede observar la evolución de los mismos según los gustos y obviamente los beneficios que estos brindan a los desarrolladores.
Para ver la gráfica actualizada al dÃa de hoy ingrese a https://trends.google.es/trends/explore?q=Laravel,CodeIgniter,CakePhp,Zend,Symfony
Laravel, el más utilizado
Si bien, como se mencionó antes, hay varios frameworks (cada uno con sus ventajas y desventajas), se puede observar notoriamente como Laravel se ha convertido en tendencia, llegando a ser actualmente uno de los frameworks PHP más usados.
Laravel, actualmente en su versión 5.4, es un potente framework PHP de código abierto que nació en 2011. Mantiene como principal filosofÃa poder escribir código de forma sencilla y a la vez elegante, evitando el temido ‘código espagueti’.
Como principales caracterÃsticas se puede destacar que Laravel utiliza Blade como motor de plantillas, teniendo un soporte para el patrón MVC, usando componentes de Symfony y Eloquent ORM.
Además de todas estas caracterÃsticas que hacen de Laravel un framework envidiable; se debe destacar dos grandes aspectos al momento de pensar si comenzar a trabajar con esta herramienta.
En primer lugar, a lo largo de los años Laravel ha recibido varias actualizaciones, lo que nos da la pauta de ser un framework en constante trabajo, enfocado en la mejora significativa del framework. En estas actualizaciones se han implementado muchos cambios, que sin duda facilitaron sustancialmente la tarea de los desarrolladores. Inclusive teniendo en cuenta caracterÃsticas desarrolladas por ‘usuarios comunes’ que detectaron mejoras y las compartieron con la comunidad.
Su documentación y su comunidad es otro aspecto muy positivo de Laravel, ya que lo mantiene en auge constante. Tener una buena documentación en la cual respaldarse es sin duda una ventaja muy importante, sobre todo cuando recién se comienza a trabajar en el framework.
Al usar Laravel se podrá contar con el apoyo de una comunidad muy participativa; con varios foros a los cuales se podrá acceder para ‘quitarnos dudas’ que puedan surgir en el camino. Son miles los usuarios que están conectados diariamente ayudando a otros usuarios, o incluso trabajando de forma individual para aportar algún paquete que facilite o solucione un problema común.
En cuanto a lo técnico, Laravel ofrece variadas funcionalidades que aportan valor al sistema y que resuelven correctamente los requerimientos del proyecto. Una de esas funcionalidades a destacar es la capacidad de enviar notificaciones por email (e incluso por mensajes de texto) y autenticar a los usuarios mediante reconocimiento facial. Este es un terreno donde aún hay mucho por investigar, y que hacen de Laravel una herramienta única para cada desarrollador.
Escrito por Felipe Martinez, Desarrollador de Fx2.