こんにちは、コバヤシです。
今回は、Laravel 12のリリースに伴って非推奨となったBreezeについて、Bladeを使いたい場合どのような選択肢があるのかを整理して書いていきたいと思います。
Laravel12について
Laravel 12は、2025年2月にリリースされた最新バージョンです。
Laravel 11で導入されたスリムな構成を引き継ぎつつ、新しいスターターキットの追加や、AI支援機能、API周りの強化などが行われています。
Laravel 12ではBreezeが選べない
Laravel 11までは、インストール時にBreezeやJetstreamといったスターターキットを選ぶことができましたが、Laravel 12では、これらがインストーラーの選択肢から外され、公式としては非推奨の扱いになっています。 今後のアップデートも予定されておらず、実質的に「今あるものを使いたければ自分で導入」という状態です。
その代わりに、React、Vue、LivewireといったJavaScriptを活用したスタックが、公式の選択肢として新たに提供されていますが、 Bladeベースで完結したい派にとっては、少しさみしい変更となっています。
なぜBladeで組みたいか?
Laravel公式ではReactやVueといったモダンなスタックが推奨されていますが、案件によってはそこまでの機能を必要としないこともあります。
Bladeベースで完結できれば、JavaScriptに依存せず、比較的軽量な構成でシンプルに認証を組むことができます。特に小規模な案件や管理画面などでは、Bladeの方が構成の見通しがよく、保守もしやすいと感じています。
自分としても、そうしたケースでは引き続きBladeを使いたいと考えているので、Breeze非推奨となった今、改めて選択肢を整理しておく必要があると思いました。
Blade派の選択肢
Bladeベースで完結する構成は、自分にとっては案件によっては有用な選択肢です。
Laravel 12ではBreezeが非推奨になったとはいえ、Bladeを使った認証UIを完全に諦めたくないところ。
ここでは、自分が今後の選択肢として検討している方法を整理してみます。
Breezeを手動で使う(非推奨)
Laravel 12では、Breezeがインストーラーの選択肢から外されており、選ぶことはできなくなっています。
ただし、パッケージ自体は引き続き利用できるので、以下のように手動で導入することができます。
composer require laravel/breeze --dev
php artisan breeze:install blade
npm install && npm run build
php artisan migrate
このように、Bladeスタックも含めて以前と同じようにインストールできます。ただし、Laravel公式では今後のアップデートは提供しない方針が明言されており、非推奨扱いとなっています。
機能的には問題なく動作するものの、セキュリティアップデートや改善が入らない可能性があるため、新規プロジェクトでの採用には少し慎重になった方がよさそうです。
Livewireスタックを選択する(妥協案)
Bladeそのものではないですが、Livewireスタックを使えば、PHP側のロジックでUIの制御ができるため、Bladeとまではいきませんが、ある程度バックエンド主導で画面を作成できます。
Laravel 12では、Livewire向けの新しいスターターキットが公式に用意されていて、モダンな構成で開発できます。
完全なBladeではありませんが、「JSをほとんど書きたくない」「画面はBladeっぽく組みたい」といった場合には、現実的な選択肢の一つとなるかも。
認証を自作するという選択肢
Breezeが非推奨となった今、Bladeで認証UIを構成したい場合、いっそ自分で組んでしまうというのも一つの手かもしれません。
LaravelのAuth
ファサードを使えば、コントローラとビューを自前で用意するだけで、ログイン処理や認証状態の判定は簡単に実装できます。
Breezeのように一式そろった雛形はありませんが、自分で必要な部分だけを用意することで、余計な依存も減らせます。
このあたりの具体的な構成方法については、次回の記事で紹介する予定です。
まとめ
Laravel 12では、Breezeが非推奨になったことで、Bladeを使いたい場合に考えることが増えました。
とはいえ、手動で導入する方法もあれば、自作という手段も残されています。
Bladeを使いたい場面はこれからもあると思いますし、どの選択肢が最適かはケースバイケースです。
次回は、Bladeを使って認証を自作する具体的な方法について書いていきたいと思います。