Laravel8のScaffoldはLaravel Jetstreamらしい

Laravel Jetstreamがそうらしい。

  • LivewireかInertiaの選択肢があるが、Inertiaでよさそう。
    • InertiaはVueだそうなので。
    • LivewireはLaravel独自でこちらのほうが楽そうなのだが、Laravel8にロックインされるリスクを考えると手を出しづらい。
    • チーム機能なるものは今回不要ということでオプションもつけず。

install コマンドは下記。

cd /var/www/html/membership
composer require laravel/jetstream 
php artisan jetstream:install inertia
npm install
npm run dev
php artisan migrate

というわけでInertiaを軽く試してみたが、今回のやりたかったことに合わない。没。

  • もともと小さなサンプルプログラムなのでFrontendとBackendは一緒にする気だった。
  • Scaffold程度のために仕様が変わってしまうのはいくらなんでも困る。
  • 超リッチな追加フレームワークという印象。単にスキーマからCRUDのためのコードのたたき台を自動で生成するツールが欲しかっただけなので(C#のScaffoldみたいな)、これはちょっと。
  • そして”既存のプロジェクトに適用してはいけません”の注意書き通り、プロジェクト内のコードが大量に書き換えあるいは新規追加され大変なことに。いやgitで管理してるから戻せたけども。
    • これは本番で採用するならよっぽど注意しないとまずい印象。そして使わないと決めたら最後まで使わなくなることを理解しないといけない。

というわけで前言撤回、Livewireを使うことにした。こちらはこちらでやはり大量のファイルが追加される。

composer create-project laravel/laravel membership
cd membership
composer require laravel/jetstream
php artisan jetstream:install livewire
npm install
npm run dev

あとロックインがやはり怖い。フレームワークをアップグレードすることはそう頻繁ではないとはいえ。