SlideShare a Scribd company logo
1 of 26
Ecosistema Laravel
PHPMX
Por: Pedro Rojas Reyes
@sirpyerre https://resume.monoforms.com
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.
Objetivo y Filosofía de Laravel
"Happy developers make the best code".
Developers happines from download to
deploy
¿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.
El ecosistema Laravel
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.
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
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.
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
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
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.
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
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
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
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
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
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/
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
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/
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/
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/
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/
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/
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.
Thank you
PHPMX
@sirpyerre https://resume.monoforms.com

More Related Content

Similar to Ecosistema laravel

Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyJorge Antonio Linares Vera
 
Pleased to meet you, Laravel
Pleased to meet you, LaravelPleased to meet you, Laravel
Pleased to meet you, LaravelRolando Caldas
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )Jairo Hoyos
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptKarsarmi
 
Instalación open bravo
Instalación open bravoInstalación open bravo
Instalación open bravoCharlie Stark
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationCamilo Buscaron
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptxGabrielCarbas
 

Similar to Ecosistema laravel (20)

Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
 
Laravel
LaravelLaravel
Laravel
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
Pleased to meet you, Laravel
Pleased to meet you, LaravelPleased to meet you, Laravel
Pleased to meet you, Laravel
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Instalación open bravo
Instalación open bravoInstalación open bravo
Instalación open bravo
 
20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
 
LARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptxLARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptx
 
Wamp server
Wamp serverWamp server
Wamp server
 
Framework
FrameworkFramework
Framework
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-Presentation
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptx
 
presentacion php
presentacion phppresentacion php
presentacion php
 

Recently uploaded

GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.Aldo Fernandez
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 

Recently uploaded (14)

GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 

Ecosistema laravel

  • 1. Ecosistema Laravel PHPMX Por: Pedro Rojas Reyes @sirpyerre https://resume.monoforms.com
  • 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.
  • 3. Objetivo y Filosofía de Laravel "Happy developers make the best code".
  • 4. Developers happines from download to deploy
  • 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.