
Laravel 12 Turns Heads
It’s hard to believe that it’s been a full three years since I wrote an article on a major Laravel release. Since then, the release cycle has seen mostly small incremental changes to quality-of-life for developers, but that all changed with the release of Laravel 12. It’s important to note that what makes this such a significant release of Laravel isn’t actually the core code of the framework itself but more what is happening within the wider organisation. Fresh off the back of a $57 million Series-A Venture Capital round of funding from Accel, it was clear that new, shiny things were coming. Let’s dive into the changes happening at the PHP juggernaut’s HQ.
Starter Kits, Revamped
This is undoubtedly the biggest change. There are different ways to view the starter kit approach: here at Vonage, I use the Breeze starter kit a lot, due to the nature of my work that requires quickly bootstrapping demo applications. While this works well in my use case, it’s worth noting that these starter kits are designed for guidance. If you have a specific greenfield site project, especially if it has the potential to handle enterprise-level traffic, you’d probably be better off building your application entirely from scratch.
However, the available options neatly handle the monotonous tasks that inevitably have to be done: user authentication systems, JavaScript dependency chains, and session storage.
Here are the new starter kit options:
Laravel Starter Kit Options
There are several changes under the hood for how these are structured: firstly, you’ll note that Blade + AlpineJS is now missing. This might be an unpopular choice, but considering that Blade is the de-facto Server-Side Rendered templating engine as a first-party package, opting for no starter kit and building it in is a viable option. However, you won’t get the front end for user authentication, which comes with all of the others. If you’re used to Jetstream and Breeze (which arenow support only) then Livewire will be what you want. Moving this logic into Livewire means you’ll get the Volt API shipped with it.
AuthKit from WorkOS
Remember how I just mentioned the templating for the authentication system in those starter kits? Well, you now have an interesting option available during the starter kit creation process. You can opt to use the built-in auth system that Jetstream and Breeze used to ship with. Job done, migrations and session handling created. However, you can also opt for a free (basic plan) API integration with WorkOS.
What’s the advantage of that? Well, glad you asked. I think a picture is worth a thousand words here:
WorkOS Default Styling for LoginAnd there you have it: OAuth 2.0 built-in with either a Microsoft or Google account, as well as a traditional user/password mechanism. If you want to scale your security up, you can change your account with WorkOS to handle Multi-factor authentication. However, there are other options for that such as looking at Vonage’s built-in Silent Authentication and 2FA code demo with Breeze. The joy of these sorts of options is the amount of choice you have, so while some may not like the idea of vendor lock-in, Laravel developers who know what they’re doing can integrate whichever solution works best for them.
Laravel Cloud
Laravel has always had a mantra of allowing developers to get on with coding their apps as quickly as possible while providing the best developer experience. This thinking is what spawned the concept of DevOps in the first place: what if developers had the power to orchestrate and build infrastructure that traditionally fell into the operations camp?
Given this background, Laravel developers already have Laravel Forge, begging the question “What’s the difference between Forge and Cloud? Forge has certainly made DevOps a much easier process of hosting your Laravel application by effectively wrapping AWS, Digital Ocean, and other well-known platforms. You still have to know exactly how to maintain the whole stack, though, so experience with native cloud technologies is essential.
Cloud has gone one step further than this: to handle your stack with a lovely-looking UI and take out all of the interactions required with Cloud Platform providers. This means you have effectively have Forge, Envoyer, and auto-scaling all in one place.
Conclusion
There’s no doubt there are major steps made towards Laravel’s mission to create scalable applications faster than ever before. At Vonage, we love Laravel, so you can boot Vonage into the Laravel Service container automatically with our wrapper. Fancy chatting with us about Laravel? Join our thriving Developer Community on Slack, follow us on X (formerly Twitter), or subscribe to our Developer Newsletter. Stay connected, share your progress, and keep up with the latest developer news, tips, and events!