質問: Laravelの管理ツールは、Voyagerやlaravel-adminなどありますが、どうもよくわからないことがあります。 それは何をしたい人を対象としていてどう便利なのかということです。 例えば自分の運営しているサイトがinstagramだとして、求めている管理したいことはこれです。 ・ユーザー管理 リスト表示で確認(日付などでソート)、プロフィール写真確認、アカウント停止、削除など ・投稿管理 (写真、コメント) リスト表示で確認(日付などでソート)、写真確認、非公開化、削除など ・他いろいろ つまり一般ユーザーが行えることとは別に運営者側が行うことです。 こういったことを自分で作るとなればまた一つのサイトを作るぐらい手間がかかりますが、管理ツールとはこういったことを簡単に行うためのものという理解で良いでしょうか。 (Voyagerの動画解説を見るとどうもそれで合ってるように見えるのですが) もしそうなら、どんな風に手間を省けるのかがどうもよくわかりません。 一般的な解説サイトを見ても「これだから楽で便利なんだよ!」というのが見当たらず、ドキュメントも英語なのでモヤモヤしている状況です。 自分が作る場合と比べて果たしてどれだけ作業コストを省けるのかなど。 「そうだよ」「そういう目的のツールじゃないよ」や「ここがわかりやすいよ」「今ならlaravelの管理ツールはこれだよ」など助言を頂けると助かります。
回答: Voyagerやlaravel-adminは使ったことがないのですが、類似したものとして以下を使っているので回答させて頂きます。 * Laravel Nova + Laravelの公式(Taylor本人が開発している)adminツール * Invoker + TinkerのGUIツールであるTinkerwellの作者が作っているadminツール ご質問の中で既に想定されておりますが、まさに、CRUDなど管理にまつわる機能を自前で作る必要がないというのが最大のメリットかと思います。Novaの場合はカスタマイズも柔軟に行えますが、用意された機能だけでシンプルに済ませられるのであれば(それらは十分にテストされているので)安心して利用できます。 私の場合、Novaは管理系で使うことも、それ自体をアプリの唯一のUIとして使うこともあります。 管理系の用途としては、ご想定されているユーザー管理や投稿管理などに加え、Metricsで統計情報(例: 利用状況の推移)を確認したり、Actionsで少し複雑な処理(例: あるレコードの関連データを外部ツールに連携する)を行ったりしています。 便利なので、使う人が限られた業務システムなどではNova自体を唯一のUIにしてしまうこともあります。実際に運用しているツールの例としては、バックグラウンドでデータ処理を行うツールなのですが、何らかの検知にひっかかったデータ(Novaの関連ページへのリンクがSlackなどに通知されます)だけを人が処理するというものです。処理するといっても複雑な作業を行うわけではないので、Novaで用意されているCRUDで事足りています。 Invokerは、実は実運用ではまだあまり使ったことがないのですが、便利そうなので参考までに貼らせて頂きました。Laravelのアプリ本体に何もインストールすることなく、外からモデルの構造などを解釈してGUIでデータをいじれるようにしようという(ちなみにSSH経由でも繋げる)、ちょっと面白いツールです。 最後に、NovaやInvokerは後からでも導入できるというのも良いところかと思います。はじめはTinkerやSQLを叩いたり、最小限の管理画面を作って運用したりしていても、必要になったときに(本体のコードに影響を与えることなく)導入できます。依存関係がないので、もちろん捨てるのも簡単です。