Desarrollo de Aplicaciones

¿Por qué Laravel?

Laravel es un framework PHP, básicamente es un conjunto de clases PHP que hacen la creación de tu proyecto web más fácil.

¿Por qué Laravel?

Razones para confiar en Laravel

Al utilizar un framework tenemos mucho código ya creado y no debemos repetirlo en cada proyecto. Laravel es uno de los más utilizados, y si es así, será por múltiples motivos que os explicaremos a continuación:

Gestión de las rutas con Laravel

Nos permite gestionar de forma simple, pero potente, los endpoints de la aplicación. De 'http://www.example.com/posts' nos quedamos con la parte de '/posts', ahí le decimos a Laravel "cuando vayan a '/posts' quiero que que realices esta acción. No solo gestiona de '/posts' a una acción, sino que es capaz de distinguir entre 6 formas de ir a '/posts', con lo que nos da mucho juego.

Middlewares en Laravel

Un Middleware se ejecuta antes y después de cada petición al servidor, por ejemplo en '/posts' queremos que antes de entrar miremos si ya tenemos esa página cargada en caché, así nos podemos evitar el tener que consultar la base de datos, con el tiempo que conlleva. Después de consultar la base de datos y justo antes de enviar la respuesta al usuario es un buen momento para guardar este resultado en esa caché. También podríamos usar un Middleware para enviar a un visitante a una página de error si no ha iniciado sesión y así proteger lo que deba ser protegido.

Controllers en Laravel

Esto lo utilizaremos como mecanismo organizativo. Antes hemos dicho que si alguien va a '/posts' que realice una acción. En un Controller podremos realizar consultas. Por ejemplo, consultamos en base de datos los posts y devolvemos el HTML que pinta los posts en una lista.

Requests en Laravel

"Ir a '/posts'" es un request. Pero en este request podemos hacer más cosas, como validar la información que nos han enviado de un formulario. Así no romperemos la base de datos guardando lo que no debamos, podemos definir todo un set de normas para cada formulario, como qué campos son obligatorios o que la fecha de nacimiento debe ser anterior a "hoy menos 18 años".

Responses en Laravel

Antes hablábamos de devolver un HTML, pero no es lo único que puede devolver una llamada a una aplicación. Si quien hace esta llamada es una máquina y no una persona podemos devolver un json, que es una forma mucho más eficiente de enviar información. O podemos devolver un fichero.

Views en Laravel

Estos HTML que devolvemos al usuario los llamamos views y los utilizaremos enviándoles nuestras variables que hemos creado en el Controller.

Blade Templates en Laravel

Las Views las generamos utilizando Blade. Esto básicamente significa que tenemos acceso a las variables de la View y a una serie de herramientas para facilitar puntarlas en la propia View.

Service Providers en Laravel

Nuestra aplicación utiliza estos Service Providers para extenderse con más funcionalidades. Por ejemplo, si necesitamos Stripe para realizar pagos le añadiremos a nuestra aplicación Laravel el paquete de Cashier (que cumple esas funcionalidades) y este contiene un fichero Service Provider que ejecutará lo necesario para prepararse para ser usado, como leer de nuestra configuración las claves con las que se conectara a nuestra cuenta de Stripe. Esto nos permite utilizar el código de este paquete sin preocuparnos de tener que pasarle manualmente esta configuración.

Sin los Service Providers Laravel no sería nada, ya que Laravel es básicamente un enorme contenedor donde viven estos Service Providers y le proporcionan todas las funcionalidades que necesita para funcionar más las que hemos añadido nosotros para nuestro propio beneficio.

Authentication en Laravel

En palabras de Taylor Otwell (creador de Laravel): "Cada vez que tengo una idea para un proyecto lo cojo con ganas, creo una carpeta nueva y empiezo a programar, mi idea necesita de usuarios, así que empiezo por ahí. Cuando me doy cuenta tengo los usuarios terminados, pero es muy tarde, mañana sigo. Cuando llega mañana ya no me interesa o apasiona tanto este proyecto, porque se me ha ocurrido otro nuevo, así que empiezo ese otro proyecto y le hago el sistema de usuarios..."

Pues se acabó perder el tiempo creando proyectos inútiles que solo son capaces de tener usuarios después de un montón de horas de trabajo, esto viene por defecto con Laravel.

Authorization en Laravel

De esos usuarios algunos pueden hacer unas cosas y otros pueden hacer otras distintas. Aquí entra en juego la Authorization.

Artisan Console en Laravel

Una de las cosas que más tiempo hacen perder es crear ficheros. Hacer uno son 2 segundos, pero hacer 100 muy parecidos es una perdida de tiempo, artisan nos permite generar estos ficheros con un esqueleto básico.

Encryption en Laravel

Hay contenido que debemos encriptar para trabajar con él, como contraseñas. 

Laravel Cashier

Este paquete nos permite realizar pagos en nuestra aplicación. Se pone, se añaden las claves y ya funciona. Ahorra una cantidad muy grande de trabajo.

Caché en Laravel

Guardas bajo un nombre un valor, este valor puede ser una consulta de base de datos o una página entera. Le asignas fecha de caducidad y ya tienes una forma de aumentar la velocidad de carga de lo que te interese.

Collections en Laravel

Una colección nos permite agrupar diversos modelos (por ejemplo usuarios) bajo un mismo objeto que nos facilita recorrerlo o realizar una búsqueda de los items que contiene.

Events en Laravel

Un evento hay que entenderlo como una notificación de que algo ha ocurrido. Por ejemplo "Se ha creado un nuevo usuario" o "Se ha realizado una compra". Estos Eventos nos son útiles para lanzarlos y el código que lo necesite sepa que eso ha ocurrido y pueda actuar en consecuencia, por ejemplo, enviando un mail.

File Storage en Laravel

Una aplicación web normalmente deberá ser capaz de gestionar ficheros, desde fotos de avatar de sus usuarios hasta facturas protegidas que a las que solo el dueño debe tener acceso.

Helpers en Laravel

Multitud de funciones que ya vienen creadas y nos permiten trabajar mucho mas rápido.

Mail en Laravel

Antes hablábamos de enviar un mail, este paquete se encarga de ello de forma fácil y rápida.

Notifications en Laravel

Igual que en WhatsApp, pasa algo y hay que avisar al usuario, eso es una notificación.

Queues en Laravel

Para todas aquellas tareas que deban realizarse en segundo plano, se ponen en una cola y se ejecutan por orden.

Task Scheduling en Laravel

Para todas aquellas tareas que deban realizarse periódicamente, como sacar un informe mensual de las ventas.

Paginación en Laravel

También de serie y completamente funcional. Algo muy básico que si hay que realizar desde 0 puedes perder unas horas en el intento.

Migraciones en Laravel

Gestión de base de datos desde código PHP para no tener que ir cambiando de SQL a PHP continuamente mientras trabajas, además de que puede llegar a hacer las funciones de control de versiones para la misma base de datos.

Seeding en Laravel

En desarrollo es útil poder generar 'dummy data' de forma fácil. A la hora de lanzar a producción también se utiliza para llenar la base de datos con contenido como países, idiomas...

Eloquent en Laravel

La base de los modelos en Laravel, desde consultas a base de datos hasta relaciones entre diferentes modelos.

Test en Laravel

Imprescindible función, Laravel viene completamente preparado para ser testeado y asegurarse de que todo funciona perfectamente. Utilizando estos tests podríamos cambiar parte del código de la aplicación a uno más eficiente. Por ejemplo, gracias a los tests en cuestión de un instante sabríamos si hemos roto algo con nuestros cambios sin necesidad de que se nos pierdan y acaben encontrandoselos nuestros usuarios.

Socialite en Laravel

Las contraseñas han muerto, ahora todo lo que necesitas es una cuenta en Twitter, Facebook o Google y puedes usar esa cuenta para iniciar sesión en multitud de páginas. Esto es Socialite.

Como se puede observar todos estos puntos favorecen al desarrollador, ¿por qué como cliente nos interesa esto?

Para ahorrar gastos. Si todo esto ya está hecho, el trabajo del programador consiste en integrarlo todo, sin necesidad de crearlo y preocuparse por actualizarlo todo cada vez que descubra un fallo o una vulnerabilidad. Laravel se va actualizando arreglando estas cosas en caso de encontrar algo. De 1000 horas a solo un par gracias a utilizar este framework, con código bien probado por miles de programadores.

¿Por qué Laravel y no otro Framework?

Nadie puede decir que Laravel sea el mejor que hay, pero esto pasa con todos. Con la mayoría puedes decir que NO son el mejor, con Laravel habría que buscar algún motivo para afirmar eso.

Comparte este artículo

Artículos Relacionados