2. Objetivo y Filosofía de Laravel
Valores: Incrementar la
velocidad y la felicidad del
programador.
Proporcionar código limpio,
simple y bello, que ayuda a los
desarrolladores a aprender,
iniciar, escribir y desarrollar
código que sea simple, claro y
duradero.
Otros frameworks:
Su objetivo se centra
principalmente en la pureza de
su arquitectura.
Objetivos y valores de las
empresas y sus equipos de
desarrollo.
5. ¿Como Laravel puede hacer feliz al developer?
● Entorno rápido de
desarrollo: está centrado en
la facilidad de la curva de
aprendizaje.
● Minimiza los pasos entre
comenzar a escribir una
aplicación y publicarla.
● Las tareas comunes son
simplificadas por los
componentes que proporciona
el framework (DB,
autenticación, cache,
encolamiento, envío de
emails).
● Proporciona un API
consistente y estructuras
predecibles alrededor de todo
el framework.
7. Homestead
Proporciona un entorno simple de administrar y
aprovisionar máquinas virtuales.
Es una Vagrant Box, proporciona un entorno de
desarrollo sin instalar PHP, servidor web y entre
otros en tu máquina virtual.
Corre en Windows, Mac y Linux.
Incluye Nginx, PHP, MySQL, PosgreSQL, Redis,
Memcached, entre otros.
Homestead y Valet
Valet
Entorno minimalista de desarrollo para Mac.
Requiere tener instalado PHP y un servidor de
base de datos en tu máquina.
Proporciona un entorno de desarrollo
increíblemente rápido con consumo mínimo de
recursos.
Ideal para desarrolladores que solo requieren
PHP/MySQL y no necesitan un complejo
entorno de desarrollo.
8. Valet o Homestead.
Difieren en su público objetivo y su enfoque para el desarrollo local.
Homestead ofrece una máquina virtual completa basada en ubuntu, con
configuración Nginx automática.
Ambos son excelentes herramientas para el desarrollo local.
La elección dependerá de tu gusto personal y la necesidades de tu equipo.
Más información :
Homestead: https://laravel.com/docs/7.x/homestead
Valet: https://laravel.com/docs/7.x/valet
9. Tinker
Es un REPL (read–eval–print loop). REPL,
proporciona un prompt de la línea de
comandos que imita un estado de espera de
tu aplicación. Escribes comandos en REPL,
presionas return y luego esperas que se
evalúe lo que escribiste y se imprima la
respuesta.
Tinker te permite interactuar con tu
aplicación Laravel, desde línea de
comandos, puedes interactuar con objetos
del ORM, jobs, events y más.
Tinker viene instalado por defecto en Laravel.
>> php artisan tinker
El uso más útil es la capacidad de jugar con
código Laravel como modelos y servicios.
10. Mix
Webpack es muy potente pero su curva de
aprendizaje es alta.
Laravel proporciona un sistema de compilación
en Webpack llamado Mix. Esta una capa por
encima de Webpack y es muy simple de
ejecutar.
En el código anterior el archivo webpack.mx.js
hace lo siguiente:
1. Compila el archivo Sass, ./src/app/sass a
./dist/app.css
2. Agrupa todos los Javascript en
.src/app/app.js a ./dist/app.js
Para saber más en:
Documentación:
https://laravel.com/docs/7.x/mix
11. Lumen
Es un micro-framework centrado en APIS,
creado con partes de Laravel.
Es la solución perfecta para construir
microservicios basados en Laravel y API's ultra
rápidas.
Ya que es para APIS muchas funcionalidades
que ofrece Laravel que no son para API’s, se
han eliminado.
Lumen es un framework totalmente separado
de Laravel, no ofrece compatibilidad con
herramientas adicionales de Laravel como
Cashier, Passport, Scout, etc. Si tu aplicación
requiere de estas funcionalidades mejor usa
Laravel.
Más información en la documentación del
propio Lumen:
https://lumen.laravel.com/docs/7.x
12. Passport
Las API suelen usar tokens para autenticar a los
usuarios y no mantienen el estado de la sesión
entre las solicitudes.
Oauth2 es el sistema de autenticación más
comúnmente usado para APIs RESTFul.
Passport es un servidor OAuth2 poderoso y
simple de configurar para la autenticación de
clientes a tus API's.
Passport está construido sobre el servidor
League Oauth2.
Lo instalas en tu aplicación desde composer y
con muy poco trabajo tienes un flujo accesible
para tus usuarios.
13. Scout
Proporciona búsqueda tipo full-text, es una
solución simple para indexar y buscar
contenido de tus modelos Eloquent, por default
viene con el driver de Algolia pero hay
paquetes de la comunidad para otros
proveedores.
Usando observers en tus modelos, Scout
automáticamente mantiene sincronizados tus
índices de búsqueda con los registros de tu
base de datos.
Más información en la documentación de
Laravel: https://laravel.com/docs/7.x/scout
14. Socialite
Es un paquete que hace increíblemente simple
agregar un login social (github o facebook) a tu
aplicación.
Actualmente soporta Facebook, Linkedin,
Twiiter, Google, Github, GitLab y BitBucket.
Necesitas las credenciales OAuth para el
servicio que quieres utilizar.
Lo instalas a través de composer.
Más información: https://laravel.com/docs/7.x/socialite
15. Horizon
Como otras herramientas no viene con el core.
Horizon es un paquete de monitoreo de
Queue's que puede ser instalado a través de
composer.
Proporciona información sobre el estado de sus
trabajos en cola de Redis. Puedes ver que
trabajos han fallado, cuantos están encolados, y
que tan rápido están trabajando y puedes
recibir notificaciones cuando una de alguno de
tus colas están sobre cargadas o fallando.
Instalar Horizon es sencillo y hay mucha
documentación al respecto:
https://laravel.com/docs/7.x/horizon
16. Echo
Los WebSockets son usados para implementar
interfaces en tiempo real. Cuando algún dato se
está actualizado en el servidor, un mensaje es
típicamente enviado sobre una conexión
WebSocket para ser manejada por el cliente.
Laravel hace más fácil transmitir eventos sobre
una conexión WebSocket: permite compartir los
mismos nombres de eventos entre tu código del
lado del servidor y tu aplicación Javascript cliente.
Echo viene con dos partes: una serie de mejoras
en el sistema de transmisión de eventos de
Laravel y un nuevo paquete de Javascript.
Soporta diferentes drivers de broadcast: Pusher
channels, Redis y un driver log para desarrollo
local. Más información en la documentación:
https://laravel.com/docs/7.x/broadcasting
17. Telescope
Es un elegante asistente de depuración para
Laravel. Proporciona información sobre las
peticiones que llegan a tu aplicación,
excepciones, queries a la base de datos,
entradas al log, queue jobs, email,
notificaciones, operaciones de caché, tareas
programadas.
Telescope es un compañero maravilloso para tu
entorno de desarrollo local.
Como siempre la documentación de laravel es
un excelente lugar para iniciar:
https://laravel.com/docs/7.x/telescope
18. Dusk
Proporciona un API para automatizar pruebas
de las aplicaciones desarrolladas en Laravel.
Con Dusk puedes simular la navegación del
usuario en tu aplicación, puedes simular Clics,
llenar formularios de forma automatizada y si
algo falla te lo notifica.
Por default no requiere que instalar JDK o
Selenium en tu máquina, en su lugar usa una
instalación independiente de Chrome Driver.
También puedes utilizar cualquier otro driver
compatible con Selenium que desees.
Puedes saber más, la documentación de
Laravel es muy extensa:
https://laravel.com/docs/7.x/dusk
Dusk: https://gabrielchavez.me/laravel-dusk/
19. Cashier
Es un paquete gratuito que proporciona una
interfaz fluida y simple para servicios de
facturación por subscripción de Stripe y Mollie.
Cashier administra gran parte de la
funcionalidad básica de suscripción de
usuarios, cambio de planes, les da acceso a sus
facturas, maneja la devolución de llamadas
desde el webhook del servicio de facturación,
administra los periodos de gracia de
cancelación de pedidos de los usuarios y más.
Una vez más la documentación oficial es tu
amiga. Puedes encontrar cashier para los dos
proveedores de pagos:
Stripe:
https://laravel.com/docs/7.x/billing#introduction
Mollie: https://github.com/laravel/cashier-mollie
20. Forge
Herramienta SaaS de pago para crear y administrar VPS's, hosteados en Digital
Ocean, Linode, AWS y más. Provisiona servidores listos para Laravel, con todas
las herramientas que necesita para ejecutarlos, desde colas y hasta certificados
SSL.
Es muy útil para activar sitios de forma rápida y fácil. Se puede ampliar el tamaño
del servidor, agregar balanceadores de carga y administrar redes privadas entre
tus servidores, todo dentro de Forge.
Web: https://forge.laravel.com/
21. VAPOR
VAPOR:
Plataforma autoescalable, de implementación
serverless para Laravel, sobre la tecnología de
AWS Lambda. Abstrae la complejidad de
administrar aplicaciones Laravel en AWS
Lambda
Características:
● Paga solo por lo que uses.
● Despliegues atómicos y rollbacks.
● Múltiples ambientes.
● Restauración de base de datos.
Alternativas:
● OpenWhisk: https://openwhisk.apache.org/
● Serverless Framework:
https://www.serverless.com/
● Bref: https://bref.sh/
Es como Laravel Forge para tecnología sin servidor.
Web: https://vapor.laravel.com/
22. Nova
Paquete de pago para construir paneles de
administración.
Simplifica drásticamente el proceso de crear la
parte de administración del sitio, utilizando Vue
y una API de Laravel.
Características:
Administración de recursos: soporta relaciones
Eloquent.
Actions: son tareas que se pueden ejecutar
contra un recurso.
Filtros: puedes implementar filtros
personalizados.
Authorization: se integra con la actual política
de autorización de laravel.
Custom fields: nova incluye un CLI que genera
campos personalizados para tomar control
sobre implementación y diseño.
Integración con scout.
Web: https://nova.laravel.com/
23. Envoyer
Herramienta SaaS, que ofrece: Implementación de PHP con 0 downtime. A
diferencia de Forge, Envoyer no administra tus servidores.
Es una herramienta que se conecta a tu servidor para correr tus deploys y que
utiliza una serie de herramientas para garantizar que todo el trabajo de
despliegue corra.
Más información: https://envoyer.io/
24. Spark
Es un paquete de pago para generar un SaaS que acepta pagos y facilita la
administración de usuarios, equipos y suscripciones.
Proporciona integración con Stripe, facturas, autenticación de dos factores, fotos
de perfil para usuarios, administración de equipos y facturación, reseteo de
passwords, anuncios, autenticación API Token y más.
Más información: https://spark.laravel.com/
25. Despedida
Para resumir podemos decir que todo el ecosistema de Laravel no solo es una
óptima solución para los nuevos desarrolladores sino que ayuda a implementar
nuevas ideas de negocio rápidamente.
La felicidad en el desarrollo de aplicaciones web con Laravel viene de la facilidad
con la que se puede aprender y de las herramientas que tenemos alrededor de
todo el framework.
Laravel te ayuda a hacer realidad tus ideas, sin desperdiciar código, usando
estándares modernos de codificación, rodeado de una comunidad entusiasta y
con un poderoso ecosistema de herramientas.