25

¿Qué hay de nuevo en Laravel 9?

47259Puntos

hace 2 años

¿Es posible que podamos probar la versión de un framework que todavía no se ha lanzado? Laravel ha anunciado el lanzamiento de la nueva versión de su framework y ya tenemos las novedades que este trae consigo, así que hablemos de Laravel 9 para conocer directamente sus novedades. Esto por supuesto incluye distintos puntos y conceptos muy sencillos, pero antes…

¿Es posible instalar Laravel 9?

Primero que nada… ¿Cómo es posible conocer las novedades de un sistema que no ha sido lanzado? Bueno, lo logramos instalando la versión que está en desarrollo y no la última versión estable. Veamos los comandos.

  • Instalación de la última versión: laravel new project-name
  • Instalación de la versión en desarrollo: laravel new project-name –dev

Podemos confirmar la versión instalada con el comando php artisan –version dentro del proyecto; este te dirá en el terminal en qué versión exactamente estamos trabajando. Así puedes experimentar con la nueva versión sin que se haya lanzado.

¿Qué conceptos nuevos trae Laravel 9?

  1. Laravel 9 requerirá como mínimo la versión 8 de PHP.
  2. El sistema anterior de emails Swift Mailer fue archivado y por ello fue reemplazado por Symfony Mailer. Así que si deseas pasar de Laravel 8.x a Laravel 9.x debes eliminar este componente de raíz e instalar el componente vigente con el comando composer require symfony/mailer.
  3. El sistema para manipular archivos también se actualizó y ahora tendrá la versión 3 y no la 1 como en el pasado.
  4. Laravel 9.x nos permitirá definir a los famosos accessors y mutators en un único y exclusivo método, esto es un cambio de sintaxis para escribir menos código en nuestras entidades.
  5. Enumeraciones en las rutas y esto significa disponer de una nueva capa de validación, quiere decir que la ruta debe cumplir con un enum válido o esta devolverá un error HTTP 404.
  6. En Laravel 9.x podemos definir un controlador común para un grupo de rutas, por ello se le conoce como “grupo de rutas de un controlador”, de hecho esta función es tan genial que se programó para que esté disponible también en Laravel 8.x.
  7. A nuestras columnas de texto podemos agregarle el método ->fullText(), esto creará un índice que luego nos permitirá crear consultas con los métodos whereFullText() y orWhereFullText(). Estos índices nos ayudarán a hacer búsquedas sobre textos otorgando así un alto grado de semejanza y coincidencia mejorando al mismo tiempo el rendimiento de una consulta.

Y mucho más, tenemos grandes cambios que iremos descubriendo y probando a medida que vayamos creando proyectos en nuestros cursos. La idea es que cada futuro proyecto tenga estas novedades para verlas en prácticas reales.

Versionamiento semántico

Cuando usamos el comando php artisan –version podemos ver un resultado en el terminal con el siguiente formato: Laravel Framework 8.81.0. Nota que nos aparecen tres números que tienen un significado interesante y particular, se le conoce como sistema de versiones amigable, versionamiento semántico o directamente “versiones semánticas”. La intención en este punto es solucionar el problema y riesgo de que se rompa el sistema al momento de actualizar.

Laravel en sí mismo es un gran árbol de dependencias y esta es la mejor manera de fluir cuando se tiene un sistema muy grande. Esta técnica hace que las nuevas versiones sean menos estrictas y eviten al máximo el riesgo de romperse por problemas de compatibilidad.

En otras palabras, Laravel es un sistema que depende de muchos componentes y necesita un control de versiones amigable para enfrentarse con éxito a esta realidad. La idea es facilitar el poder avanzar con seguridad y actualizar nuestros proyectos sin problema alguno.

Como podemos ver, las versiones tienen el formato (8.81.0, 9.x.x, etc.) que traduce a Mayor (importancia), menor (segundaria) y parche (corrección de error):

  1. Parche: corregir un error incrementa el segmento del parche, es decir, este número anuncia la corrección de un error.
  2. Menor: esto significa que hemos agregado cambios compatibles con las versiones anteriores (segmento menor, versión secundaria).
  3. Mayor: es el primer número y anuncia los cambios avanzados que no son compatibles con las versiones anteriores.

Este esquema transmite significado y dice en esencia lo que se ha modificado de una versión.

LTS

Laravel 9 será una versión LTS y esto quiere decir que tendrá más tiempo de soporte, las mejoras y las correcciones de errores serán de dos años y las correcciones a nivel de seguridad serán por 3 años.

Estas siglas son muy comunes en distribuciones como Ubuntu, LTS (soporte a largo plazo) significa que una versión de software tendrá más tiempo de soporte y mantenimiento.

Esto es muy significativo porque para las versiones generales como Laravel 7, 8 y próximamente Laravel 10 son mantenidas durante 18 meses y las correcciones a nivel de seguridad se proveen durante 2 años. Estas versiones de código permiten a la comunidad y al equipo de desarrollo arriesgar más y hacer distintas pruebas con nuevas funciones y con nuevo código, este tipo de versiones con soporte a corto plazo nos dan la libertad necesaria para hacer más experimentos.

Como puedes notar estos conceptos nos permiten entender el ciclo de vida de una versión y la forma de trabajar de Laravel.

¿Qué versión de Laravel debemos usar?

Ante tantas versiones es normal que surja esta pregunta, y lo recomendable es usar la versión más reciente, aunque existen cambios esto no quiere decir que debamos aprender desde cero esta tecnología porque Laravel es cada vez más estable y estandarizado. Existen excepciones, es probable que un cliente te exija una versión LTS, en ese caso usa la última versión LTS disponible.

Comprendamos que en el aumento de una versión los cambios no son drásticos, a veces esto solo quiere decir cambios a nivel de compatibilidad (por ejemplo en Laravel 9.x el componente de email ha cambiado, el componente de manipulación de archivos antes era versión 1 ahora es versión 3, incluso antes se requería como versión mínima la 7.3 de PHP y ahora se requiere la versión 8).

Son cambios de este estilo, tus conocimientos seguirán siendo actuales para las versiones nuevas.

Resumen:

Podemos decir que ahora disponemos de:

  • Laravel 9.x con componentes de Symfony versión 6.0
  • Nuevo componente para el sistema de email (Symfony Mailer)
  • Nueva versión del sistema de archivo (Flysystem 3.0)
  • Mejora en route:list
  • Nueva sintaxis de los accessors y mutators
  • Enums en las rutas
  • Cobertura de código con php artisan test –coverage

Ahora que ya sabes que los cambios entre versiones no son drásticos, te invito a empezar aprendiendo los fundamentos de Laravel y cómo es que este maravilloso framework nos ayuda a desarrollar aplicaciones web muy sencillas en nuestro Curso de Introducción a Laravel 8, ¡allá te veo!

Italo
Italo
italofantone

47259Puntos

hace 2 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
4
70051Puntos

Ya no programo en PHP pero me gusta este tipo de post de Platzi para informar sobre una nueva versión de una tecnología. Está bueno estar al tanto de la vanguardia tecnológica de cualquier framework o lenguaje.

4
47259Puntos
2 años

Genial, es bueno saber eso para generar mas contenido como este 😃

2
6139Puntos

Muy buen aporte … bien explicado y con muchas motivaciones … A propósito, cuándo ofrecerá un nuevo curso de Laravel en Platzi? Le esperamos … aprendimos mucho en sus cursos …

2
224260Puntos
2 años

Muy pronto estaremos lanzando más cursos de Laravel y otras cosillas más 👀

1
3432Puntos
2 años

esperando el Curso. lo mas antes posible 😃