Conoce las 6 principales diferencias entre Laravel 9 y Laravel 10


Guadalupe

28 Mar 2023

¿Buscas aprender Laravel 9 y 10? Laravel ha dominado el panorama de los frameworks PHP durante muchos años. Con la creciente demanda de servicios excepcionales en el mercado, el equipo central de Laravel está siempre actualizando para convertirse en la primera opción de muchos desarrolladores.

Si construyes sitios web PHP personalizados, lo más probable es que hayas utilizado el framework una o dos veces y sepas que cada seis meses sale una actualización de Laravel. Entonces, ¿te gustaría saber las principales diferencias entre Laravel 9 y Laravel 10? Hoy te las contamos, ¡sigue leyendo!

Fechas de lanzamiento de Laravel

Laravel y sus paquetes de origen siguen la metodología del Versionado Semántico, que implica la publicación de actualizaciones importantes del framework una vez al año durante el primer trimestre. Mientras tanto, las actualizaciones menores pueden liberarse en función de las necesidades.

Con la fecha de lanzamiento de Laravel 10, el 13 de febrero de 2023, la última versión del framework ya está aquí, presumiendo sus interesantes características. Anteriormente, se lanzaba una nueva versión de Laravel cada seis meses. Sin embargo, después del lanzamiento de Laravel 9 en febrero de 2022, el equipo central cambió a un calendario de lanzamiento anual que es el siguiente:

  • Laravel 9: 8 de febrero de 2022
  • Laravel 10: 13 de febrero de 2023
  • Laravel 11: 6 de febrero de 2024

Según la página oficial de noticias de Laravel, Laravel 9 recibirá correcciones de errores programadas hasta el 8 de agosto de 2023, y correcciones de seguridad hasta el 6 de febrero de 2024. Mientras tanto, se espera que Laravel 10 reciba correcciones de errores hasta el 6 de agosto de 2024 y correcciones de seguridad hasta el 4 de febrero de 2025.

Diferencias entre Laravel 9 y Laravel 10

El equipo que está detrás del framework siempre está trabajando para ofrecer lo mejor a sus usuarios, por lo que se recomienda utilizar restricciones de versión como "10.0" al referirse al framework o a sus componentes en una aplicación o paquete.

Esto se debe a que las nuevas versiones pueden venir con cambios y actualizaciones notables. A continuación, veremos las principales diferencias entre las dos últimas versiones de Laravel hasta el momento:

 

Laravel 9

Laravel 10

1.

Utiliza Symfony 6, el cual requiere al menos PHP 8.

No soporta PHP 8.0, lo que significa que se debe actualizar a PHP 8.1 o 8.2.

2. 

Permite emplear el método de controlador de la clase Route para definir el controlador.

Agiliza el manejo de procesos de casos de uso comunes, proporcionando una experiencia de desarrollo mejorada.

3. 

Posibilita usar el atributo Illuminate\Database\Eloquent\Casts\Attribute para declarar un prefijo de modelo con un único término no prefijado.

Facilita la creación de una nueva regla invocable. Se puede ejecutar el siguiente comando para crear una nueva regla:

php artisan make:rule CustomRule

4.

Incluye el motor de base de datos Laravel Scout, el cual proporciona capacidades de búsqueda de texto completo a los modelos Eloquent.

Cuenta con type-hints y tipos de retorno. Estas mejoras tienen beneficios adicionales y no afectan a la compatibilidad con versiones anteriores del núcleo del framework.

5. 

Incluye una implementación frontend Next.js complementaria en su kit de inicio Breeze.

No cuenta con dispatchNow(), ya que estaba obsoleto en Laravel 9 en favor de 'dispatchSync()'.

6.

Permite escribir sugerencias con un enum PHP en las definiciones de ruta Laravel. 

Dispone de Laravel Pennat. Este es un paquete de bandera de características sencillo y ligero, lo que le permite desplegar nuevas características.

Con la reciente actualización de Laravel, el equipo está eliminando los métodos obsoletos en la rama Laravel 10 que estaban presentes en la versión 9. La actualización de la documentación en relación con el proceso de actualización, incluyendo una lista de todos los métodos y paquetes obsoletos, está presente en la documentación.

Aquellos que planeen actualizar sus proyectos a Laravel 10 tendrán que reescribir su código con un nuevo enfoque para lograr el resultado deseado. Algunas de las desaprobaciones y eliminaciones de Laravel 9 a la rama maestra incluyen:

  • El método Route::home, el cual quedó obsoleto en Laravel 9.
  • El método getBaseQuery, el cual tiene un equivalente toBase.
  • La clase MaintenanceModeException, la cual ya no está en uso.
  • El rasgo MocksApplicationServices.
  • El método Mail::failures en el falso mail.
  • La recomendación de utilizar $casts en lugar de la propiedad obsoleta $dates.
  • El método assertTimesSent().
  • El soporte para Predis 1 y doctrine/dbal 2 ya no está disponible.
  • Todas las depreciaciones relacionadas en doctrine/dbal desde que Laravel ha dejado de dar soporte a la versión 2.

¿Deberías actualizar a Laravel 10?

Es importante tener en cuenta que Laravel es un framework de código abierto, por lo que cada vez que instalas una nueva versión en tu dispositivo, eres el propietario del código base. Por tanto, incluso si tu versión ya no está soportada, tu aplicación seguirá siendo operativa.

Sin embargo, serás responsable de mantener la versión por tu cuenta. Se aconseja priorizar la estabilidad sobre la actualización del framework. Por ello, considera la posibilidad de actualizar a Laravel 10 si:

  • Observas que tu aplicación Laravel actual es estable y funciona correctamente.
  • Notas que la actualización traerá una característica necesaria o resolverá un error crítico que mejorará el rendimiento de tu aplicación.
  • Has probado a fondo tu aplicación antes de implementar la actualización en el entorno de producción.

¡Ahora ya conoces las principales diferencias entre estas dos versiones de Laravel! Como ves, ambas versiones tienen características y mejoras que se pueden adaptar a tu tipo de trabajo. ¡Esperamos que esta información te haya resultado útil e interesante!

¿Te gustaría aprender a programar? En Coders Free contamos con diversos cursos online con todos los niveles de programación, así como servicios de diseño gráfico para hacer crecer tu negocio. ¡Contáctanos para obtener más información!


0 comentarios

Inicia sesión para comentar