本記事は サムザップ Advent Calendar 2025 4日目の記事です。
はじめに
現在、サムザップの運用プロジェクトでは、PHP、そしてフレームワークにLaravelを採用しています。(新規プロジェクトではGoを採用しています。)
ソーシャルゲームは作ったら終わり!ではなく、運用をしていくので、 管理画面は必須です。ユーザーデータの管理、アイテムの付与・プレゼント、ログ閲覧などなど、運用作業は数多くありますね!
Laravel には複数の管理画面ライブラリが存在しますが、かつて主流だった Laravel Admin はアップデートが停止し、脆弱性の懸念があるという理由から、業務で選択することは難しいです。Laravelバージョンに追従している中で、現在の主な選択肢は以下の4つになると思います。
- Backpack
- Filament
- Nova
- Orchid
本記事では、ゲーム運用や業務システム構築における観点から、各ライブラリの特徴を比較していきます!
比較項目
- コミュニティ・メンテ状況
- 機能の充実度
- 拡張性・カスタマイズ性
- 学習コスト
- 価格
1. コミュニティ・メンテ状況
Laravel Adminはすごく便利でしたが、セキュリティ的に問題があると使い続けることはできません。またゲーム開発は近年長期化してるので、継続性があるものを選定する必要があります。
開発は続いていて、定期的にアップデートが入るのか?情報が手に入りやすいのか?
Backpack
- 定期的な更新があり、安定している
- 十分なコミュニティがある
- 日本語の記事が多くない
Filament
- (おそらく、)最も勢いあるコミュニティで、更新も安定している
- 日本語の記事もある
Nova
- Laravel 公式が作っている管理画面ライブラリ
- アップデート頻度は控えめで、コミュニティは小さめ
Orchid
- 安定した開発が続いている
- コミュニティも小さめで、記事が多くない
- Backend アプリ全体を構築する思想(だそう)
2. 機能の充実度
どれだけ管理画面として便利な機能が最初から揃っているか、とても大事ですね!
運用しながら、新しい施策・機能を作っていく必要があるので、管理画面はスムーズに開発したいです。
Backpack
- 一覧・編集・作成などの基本操作(CRUD)がとても作りやすい
- 検索やフィルタ、ファイルアップロードなどよく使う機能が揃っている
- 必要に応じて追加で便利機能・アドオンを入れられる(有料な場合があり)
Filament
- こちらも基本操作系が作りやすい
- 画面を構成する部品がたくさんあり、複雑な画面も作りやすい
- artisanコマンドが用意されていて、簡単に画面を作成できる
- UIが一番モダン
Nova
- こちらも基本操作系は比較的簡単に作ることができる
- それ以外の機能は工夫する必要あり
- データの集計や分析の画面(Metrics)も作れる
Orchid
- 画面のレイアウトをパーツ組み合わせで作れる
- 設定画面やダッシュボードなど、画面を柔軟に組み立てやすい
3. 拡張性・カスタマイズ性
ゲームの仕様は複雑ですよね!それに伴って、管理画面で行いたいことも複雑なことがあります。
それを実現できるのか…
Backpack
- Blade ベースで Laravel の書き方がそのまま使える
- CRUD の機能をオーバーライドして実装できる
- カスタムの Field/Column を作るのが簡単
Filament
- TALLスタック(Laravel & Livewire & Tailwind & Alpine.js)で構成されている
- 拡張性は高いが、TALLスタックに精通している必要がある
- 非同期な操作も作ることができる
Nova
- 拡張性はあるが、Nova独自の記法がある
- ブラックボックス化している部分が多い
Orchid
- Screen / Layout の仕様理解が必須
- カスタマイズはできるが、慣れるのに少し時間がかかる
4. 学習コスト
プロジェクトに新しく参画した人はプロジェクトの仕様・設計に早く慣れたいはず。管理画面が複雑だと倍のキャッチアップが必要になるので、それは避けたい…
(★が多い = 学習コスト低い)
Backpack(★★★)
- Laravelの延長で使える
- Laravel Adminに一番近い構成
- ドキュメントあり
Filament(★★☆)
- TALLスタックの理解、フロントエンドの理解が必要
- 機能が多いが、習熟するのに時間がかかる
- ドキュメントあり
- OSS
Nova(★☆☆)
- Vue.jsを使用しており、独自概念が多い
- お金を払わないと、使用感を試すことができない
- ドキュメントあり
Orchid(★★☆)
- Screen / Layouts の独自ルールに慣れが必要
- ドキュメントあり
- OSS
5. 価格
| ライブラリ | 値段 | 備考 |
|---|---|---|
| Backpack | 無料+Pro ($69〜) | 無料枠で十分開発できる |
| Filament | 無料 | OSS |
| Nova | $99 | Laravel 公式 |
| Orchid | 無料 | OSS |
✨ゲーム運用で使いやすいのは?
それぞれの項目から、相対評価をした結果の表です。
| 項目 | Backpack | Filament | Nova | Orchid |
|---|---|---|---|---|
| コミュニティ | ○ | ○ | △ | △ |
| 機能充実度 | ◎ | ◎ | ○ | ○ |
| 拡張性 | ◎ | ○ | △ | ○ |
| 学習コスト | ◎ | △ | △ | ○ |
| 価格 | ○ | ◎ | △ | ◎ |
ゲーム運用で管理画面を作成する実務では、次の要素が重要だと思っています。
- CRUDといった、標準的な機能が効率的に実装できること
- 運用仕様に合わせて、ビューや機能をカスタマイズしやすいこと
- ソーシャルゲームは長期的に運用されるので、メンテナンスが定期的に行われていること
- ゲームのドメインロジックに集中したいので、学習コスト低く、より簡単に管理画面を作れること
これらの観点を考慮した結果、運用プロジェクトでは Backpack を採用しました!
- (以下理由)
- 機能充実度と学習コストのバランスがある
- 運用ゲームの管理画面として、十分な拡張性がある
- 十分なコミュニティ規模と定期的なメンテナンスが行われている
- 運用プロジェクトはもともとLaravel Adminを使用していた
まとめ
5つの項目から、各ライブラリの比較を行いました。
そして、ゲーム運用における観点や現在の状況から、運用プロジェクトではBackpackを採用しました。
サムザップでは、エンジニアブログを運営しており、ゲーム開発やサムザップのエンジニアリングに関する記事を投稿しています。
どこかの機会で、Backpackを用いた管理画面開発事例を紹介する予定なので、その時はぜひ見てください!
本記事が、Laravel Adminからの移行や、新しく管理画面を作り始める際の参考になれば幸いです。
明日は、 @tomeitou さんの記事になります。お楽しみに!!