Laracon US 2024 fue el epicentro de la innovación para los desarrolladores de Laravel, destacando nuevas herramientas y avances que están redefiniendo el desarrollo web. Desde la presentación de Laravel Cloud hasta actualizaciones en herramientas clave como Pest 3 y Inertia v2, la conferencia ofreció una visión clara del futuro del ecosistema Laravel.
#Laravel Cloud: El Futuro del Desarrollo en la Nube
#Revolución en la Gestión de Infraestructura
Uno de los anuncios más esperados fue Laravel Cloud, una plataforma gestionada que simplifica la implementación y escalado de aplicaciones. Optimizada para Laravel y PHP, Laravel Cloud ofrece autoescalado, bases de datos serverless y protección DDoS. La herramienta elimina la necesidad de complicaciones en DevOps, permitiendo a los desarrolladores centrarse en la creación de aplicaciones.
#Integración y Escalabilidad
Laravel Cloud no solo mejora la infraestructura; también se integra perfectamente con herramientas como Laravel Forge, facilitando la migración de proyectos. La capacidad de escalar aplicaciones automáticamente asegura que los sitios permanezcan rápidos y disponibles, incluso durante picos de demanda. Esta característica es esencial para aplicaciones empresariales que requieren alta disponibilidad y rendimiento.
#Extensión de Visual Studio Code para Laravel
#Un Enfoque para Acelerar el Desarrollo
Taylor Otwell destacó que muchos desarrolladores prefieren probar cosas sin tener que pagar por herramientas adicionales. Con esto en mente, la extensión de VS Code para Laravel busca ofrecer una solución que permita a los desarrolladores escribir código Laravel más rápidamente y con mayor eficiencia. La extensión está diseñada para competir directamente con características populares del plugin Laravel Idea, ofreciendo autocompletado, autoguía y autocompletar en diversas partes del código.
#Funciones y Beneficios Clave
En la demostración realizada en Laracon, la extensión de VS Code mostró características que facilitarán el desarrollo en Laravel. Entre estas, destacan la capacidad de navegación fácil a través del código, donde muchas partes se vuelven clicables, permitiendo saltar rápidamente entre controladores, modelos y vistas. También incluye la función de autocompletar y autollenado, lo que acelera el proceso de escritura de código al sugerir métodos y propiedades según el contexto.
Disponibilidad y Fecha de Lanzamiento
Según Taylor Otwell, la extensión estará disponible "más adelante este otoño". Aunque no se ha detallado aún el precio, la expectativa es que será una herramienta clave para quienes buscan mejorar su productividad en Visual Studio Code mientras trabajan en proyectos Laravel.
#Flux UI: Revolución en Interfaces de Usuario
#Un Enfoque Moderno en Diseño de Interfaces
Flux UI es otra de las innovaciones presentadas en Laracon US 2024. Este framework de interfaz de usuario se enfoca en crear componentes reutilizables y altamente personalizados. Está diseñado para trabajar perfectamente con Laravel y PHP, permitiendo a los desarrolladores construir interfaces de usuario modernas y atractivas con facilidad.
#Facilidad de Uso y Flexibilidad
La simplicidad es clave en Flux UI. El framework permite la creación de interfaces dinámicas sin complicaciones, manteniendo un alto grado de personalización. Además, se integra sin problemas con Livewire, lo que facilita la creación de aplicaciones reactivas y dinámicas. Esto hace que Flux UI sea una herramienta esencial para desarrolladores que buscan combinar diseño y funcionalidad.
#Inertia v2: Mejora en la Interacción entre Backend y Frontend
Durante Laracon US 2024, Inertia v2 fue uno de los anuncios más destacados, prometiendo llevar la interacción entre el backend y el frontend a un nuevo nivel. Hace solo unos meses, Taylor Otwell, creador de Laravel, mencionó en un podcast que Inertia estaba casi completo en cuanto a sus características. Sin embargo, en el escenario de Laracon, admitió que había subestimado el potencial de Inertia y presentó Inertia v2 con seis nuevas e innovadoras características.
#Async Requests: Mejora en la Velocidad y Eficiencia
La característica fundamental de Inertia v2 es que ahora todos los requests son asíncronos por defecto. Esto mejora significativamente la velocidad y la eficiencia en la comunicación entre el frontend y el backend. Al ser asíncronos, los requests permiten que las aplicaciones respondan más rápido, mejorando la experiencia del usuario.
#Polling y WhenVisible: Mejora en la Carga Condicional
Inertia v2 introduce el polling manual o automático, lo que permite a las aplicaciones actualizarse de manera constante o bajo demanda, según sea necesario. Además, la nueva función WhenVisible es especialmente útil para elementos costosos en términos de rendimiento, como gráficos o tablas pesadas. Estos elementos solo se activan cuando el usuario hace scroll hasta ellos, optimizando así los recursos.
#Infinite Scrolling y Prefetching: Mejora en la Experiencia del Usuario
El scroll infinito combinado con WhenVisible ofrece una experiencia de usuario fluida, cargando más contenido a medida que el usuario navega hacia abajo. Esta característica es ideal para aplicaciones con grandes cantidades de datos. Además, Inertia v2 incluye prefetching, que permite cargar datos antes de que realmente sean necesarios, reduciendo el tiempo de espera del usuario.
#Deferred Props: Carga Diferida y Eficiente
Otra de las novedades de Inertia v2 es el concepto de deferred props. Estas props no se evalúan en la carga inicial de la página, sino que se solicitan inmediatamente después de que la página se haya cargado. Esto permite una carga más rápida de la página inicial, mejorando la percepción de velocidad por parte del usuario, mientras que los datos adicionales se cargan en segundo plano.
#Conclusión sobre Inertia v2
Inertia v2 no es solo una actualización; es una redefinición de cómo las aplicaciones modernas pueden manejar la interacción entre el backend y el frontend. Con características como requests asíncronos, polling, scrolling infinito y deferred props, Inertia v2 ofrece a los desarrolladores una herramienta poderosa para construir aplicaciones rápidas, eficientes y altamente interactivas. Estas mejoras garantizan que los usuarios disfruten de una experiencia más fluida y receptiva, mientras que los desarrolladores pueden optimizar mejor sus recursos y procesos.
Según Taylor, Inertia v2 estará disponible en Octubre.
#Pest 3: El Futuro de las Pruebas en Laravel
Pest 3 se ha convertido en una herramienta esencial para desarrolladores que buscan realizar pruebas en Laravel de manera eficiente y potente. La nueva versión introduce varias características que mejoran significativamente la calidad y la gestión de las pruebas en tus proyectos. Aquí te presentamos algunas de las novedades más destacadas de Pest 3.
#Presets de Pruebas de Arquitectura
Una de las adiciones más interesantes en Pest 3 es la inclusión de presets de pruebas de arquitectura. Estos presets te permiten aplicar reglas y buenas prácticas arquitectónicas en tu base de código sin necesidad de escribirlas manualmente. Pest 3 viene con varios presets predefinidos, como Laravel, PHP, Relaxed, Security y Strict.
Usar estos presets es tan sencillo como llamar a un método. Por ejemplo, para un proyecto Laravel, puedes utilizar el preset de Laravel con el siguiente comando:
arch()->preset()->laravel();
#Gestión de Todos Integrada con GitHub
Otra de las características innovadoras de Pest 3 es el sistema de gestión de todos que se integra perfectamente con GitHub. Esta función te permite gestionar tu flujo de trabajo de pruebas directamente desde tus archivos de prueba y la línea de comandos, creando un puente entre tus pruebas y la gestión de proyectos en GitHub.
Ahora puedes marcar explícitamente las pruebas como "todo" o "done" dentro de tus archivos de prueba. También es posible asociar las pruebas con issues o pull requests específicos en GitHub, asignarlas a miembros del equipo y agregar notas para proporcionar contexto adicional.
test(
Este sistema permite una gestión más organizada y colaborativa, asegurando que todos los aspectos de las pruebas estén alineados con las metas del proyecto.
#Conclusión sobre Pest 3
Pest 3 no solo simplifica el proceso de pruebas en Laravel, sino que también introduce herramientas poderosas para mantener la calidad y la estructura de tu código. Con presets de pruebas de arquitectura, pruebas de mutación, y una gestión de todos integrada con GitHub, Pest 3 se posiciona como una herramienta imprescindible para cualquier desarrollador Laravel que busque mejorar la eficiencia y la fiabilidad de sus pruebas.
#Novedades en Laravel 11: nuevas "pequeñas" características
1. Facade de Concurrencia
Laravel 11 introduce la concurrencia como una funcionalidad clave, permitiendo la ejecución simultánea de múltiples operaciones en procesos PHP. Esto es particularmente útil para tareas que pueden realizarse en paralelo, mejorando la eficiencia del código.
$values = Concurrency::run([ fn () => Metrics::get(), fn () => Metrics::get(), fn () => Metrics::get(), fn () => Metrics::get(), fn () => Metrics::get(),]);
2. Cache Flexible con Cache::flexible()
Otra innovación es el uso de cache flexible con el método Cache::flexible()
. Esta función mejora la experiencia del usuario al gestionar de forma eficiente las consultas pesadas que se ejecutan por primera vez, evitando tiempos de espera largos para el primer usuario que acceda a la consulta sin cache.
$values = Cache::flexible(
Este enfoque, conocido como "stale-while-revalidate", asegura que el recacheo se realice en segundo plano sin afectar la experiencia del usuario.
#3. Funciones Diferidas con defer()
Laravel 11 facilita la gestión de operaciones rápidas que deben ocurrir después de completar una solicitud con el método defer()
. Esto elimina la necesidad de configurar drivers de colas para operaciones post-solicitud, mejorando el rendimiento sin complicar la configuración.
Route::get(
Esta característica es ideal para operaciones que pueden llevar tiempo, pero que no necesitan bloquear la respuesta al usuario.
#4. URLs Temporales Locales
Laravel 11 introduce URLs temporales locales, permitiendo la generación de enlaces temporales para servir archivos privados desde servidores locales, algo que antes solo era posible con proveedores en la nube.
Route::get(
Esto es particularmente útil para servir archivos de manera segura y controlada sin depender de servicios externos.
5. Atributos de Contenedor: Resolución Automática de Parámetros
Otra gran mejora es la capacidad de auto-resolver parámetros en constructores usando atributos de PHP 8, sin necesidad de definir bindings en el AppServiceProvider
. Esto simplifica la inyección de dependencias y elimina errores de dependencias no resolubles.
use
Esto facilita el acceso a configuraciones y valores de entorno de manera más directa y sencilla.
6. Eloquent chaperone()
: Solución al Problema de Consultas N+1
Laravel 11 introduce el método chaperone()
en las relaciones Eloquent para resolver el problema de consultas N+1. Este método asegura que al cargar registros "padre" en un bucle, no se realicen consultas adicionales innecesarias.
public
Esta adición mejora la eficiencia y rendimiento de las aplicaciones Laravel al evitar consultas redundantes.
#Conclusión de la Laracon US 2024
Laracon US 2024 ha demostrado que el ecosistema de Laravel sigue evolucionando a un ritmo impresionante. Con la introducción de Laravel Cloud, la mejora en herramientas como Pest 3 e Inertia v2, las nuevas características de Laravel 11 y la innovación en el diseño de interfaces con Flux UI, el futuro de Laravel es más brillante que nunca. Los desarrolladores tienen ahora más herramientas y recursos que nunca para crear aplicaciones poderosas, escalables y seguras, con la simplicidad y elegancia que siempre ha caracterizado a Laravel.