Inertia(イナーシャ)ってなに?メリットは?LaravelとVueを連携させたい人のために説明

LaravelとVue連携

Inertiaは、サーバーサイド(フロントエンド)とクライアントサイド(バックエンド)をつなぐためのツールです。

わたしはLaravelとVue3を連携させたい時に使い始めましたが、すごく便利だと感じています。

本記事では、「LaravelとVueを連携させたい!」と思う方のために、Inertiaについて分かりやすく解説します。

Inertia(イナーシャ)ってなに?

まずはInertiaについて、公式サイトの説明を見ていきましょう。

次のように書かれています。

Inertia isn’t a framework, nor is it a replacement to your existing server-side or client-side frameworks. Rather, it’s designed to work with them. Think of Inertia as glue that connects the two. Inertia does this via adapters.

Inertiaはフレームワークではありませんし、既存のサーバサイドやクライアントサイドのフレームワークと置き換わるものでもありません。むしろ、それらと一緒に動作するように設計されています。Inertiaは両者をつなぐ接着剤のようなものだと考えてください。

*参考元:Inertia公式サイト https://inertiajs.com/

Inertia=サーバーサイドとクライアントサイドをつなぐ接着剤 ということですね。2022年4月現在、サポートしているフレームワーク等は下記のとおりです。

【Inertia対応のサーバーサイド・クライアントサイド】

サーバーサイドクライアントサイド
Laravel、RailsReact、Vue、Svelte

LaravelでInertiaを使うメリット

LaravelでInertiaを使うメリットですが、先ほどお伝えしたとおり、クライアントサイドと便利に連携できることです。

わたしはLaravelとVue.js連携のために使用していますが、非常に良いな、と感じています。

Laravelでは、コントローラーで処理を行い、これをビュー側(blade.php)に受け渡してページを表示したりします。

フロント部分でVue.jsを使う場合にも、基本的には、同じような手順で処理を行えます。ただ、Webアプリ全体で使える ルート設定が使えなかったりと色々な不便があります。

Inertiaを使えば、Vue側でも、サーバーサイドのルート設定を使ったり、ヘッダを組み込んだり、ページネーションを簡単に搭載したりできます。

Junko
Junko

まさにLaravelとVueを便利につなぐための接着剤といえます。

LaravelとInertiaの歴史

便利そうなInertiaですが、あまり聞きなれないな、と感じませんか?

わたしも最初「い、、いな???なにそれ」と思いました^^;

Inertiaは一体いつから、どのような形でLaravelで使えるようになったのか。

このあたり、振り返っていきます。

Laravelは、2020年9月にLaravel8版をリリースしましたが、このとき、Jetstream版という高機能な認証機能を搭載したパッケージが出てきました。

このJetstream版には、Livewire版とInertia版の2つが用意されていました。

Livewire版は通常どおりLaravelを使いたい人向け、Inertia版は、クライアントサイドにVueを使いたい人向けです。

ただ、Livewire版は機能が多めで、やや使いにくい面もあるパッケージです。

そこで、少しあとに、より使いやすく手軽な Laravel Breeze版が出てきました。

2021年2月には、このBreeze版にも Inertiaを入れられるようになりました。

ご興味あれば、下記、Laravel公式サイトの記事です。

「LaravelのパッケージってJatstreamやらBreezeやらあるけど、どう違うの?」と思ったら、こちらの記事も参考にしてくださいね。

さいごに

以上、Inertiaについてお伝えしました。

Inertiaは Breezeインストール時にいれて、認証部分もすべてVue3で作ることができます。これは、フロント部分をすべてVue3で作成したい時に便利です。

ただ「フロント部分はblade.phpを使うけど、一部分だけVueを使いたい」という場合には、予めVueをインストールした後に、Inertiaを入れていくと良いです。

このあたりのInertiaのインストール方法などは、次の記事でご紹介しています。併せて参考にしてください。

Junko
Junko

もし記事を書いたときに知りたい!と思ったら、Twitterフォローしてくださいね♪

なお、「実際に、どんなものが作れるのかな」と思ったらら、下記のサイトをクリックしてみてください。

URL:https://quiz.createmore-prj.com/play/quiz

こちら、LaravelとInertiaとVue3 を使って開発したクイズサイトです。管理部分はBladeファイルで作り、クイズで遊べる部分だけVueで作成しています。

Junko
Junko

良かったら、LaravelとVue連携をユーザー側で味わいつつ、クイズを試してみてくださいね。

LaravelとVue連携

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

Laravel関連のご相談承ってます♪
「Webアプリを開発してほしい」
「社内にLaravelが分かる人がいない。コンサルしてほしい」
そんな企業様のご依頼承っています。
お問い合わせはこちら
Laravel関連のご相談承ってます♪
「Webアプリを開発してほしい」
「社内にLaravelが分かる人がいない。コンサルしてほしい」
そんな企業様のご依頼承っています。
お問い合わせはこちら
Twitter始めました。
40代からプログラミング!

コメント

タイトルとURLをコピーしました