Админ-панель для Laravel: что выбрать и что знать до начала
Filament, Nova, Backpack и Orchid решают одну задачу по-разному. Разбираем, чем они платят за удобство, где ломаются и что уточнить до установки, чтобы не переписывать всё через месяц.

Вы поставили Laravel, создали пару моделей и уперлись в вопрос: где менеджеру редактировать товары, заказы и пользователей. Писать CRUD вручную — недели работы. Готовых админок для Laravel как минимум четыре популярных, и все они делают вид, что решают одну задачу. На практике они по-разному лезут в ваши модели, по-разному ведут себя на больших таблицах и по-разному стоят денег. Разбираемся, что выбрать под ваш проект и что проверить до composer require, чтобы не переписывать половину проекта через месяц.
Здесь не пошаговая установка каждого пакета — это тема отдельных гайдов. Здесь про выбор: чем каждый вариант платит за удобство и где он ломается.
Что вообще есть на рынке
Под «админ-панелью» для Laravel обычно понимают одну из двух вещей: генератор CRUD-интерфейса поверх ваших Eloquent-моделей или тему готового бэкенда, которую вы наполняете руками. Дальше речь о первом — это то, что экономит недели.
Четыре кандидата, которые реально встречаются в проектах на 2024 год:
- Filament — построен на Livewire и Alpine.js, без сборки фронтенда. Бесплатный, MIT. Сейчас активно развивается, версия 3.x.
- Laravel Nova — официальная админка от команды Laravel. Платная, лицензия покупается на сайте, цена зависит от типа лицензии — актуальную сверяйте на nova.laravel.com.
- Backpack for Laravel — модульный набор. Ядро бесплатное, PRO-версия и часть операций платные. Работает поверх обычных Blade-шаблонов.
- Orchid — платформа с собственной концепцией «экранов» (Screens) вместо привычного CRUD. Бесплатный, MIT.
Все четыре ставятся через Composer и цепляются к существующей аутентификации Laravel. Разница начинается там, где вы описываете, как именно выглядит форма редактирования и таблица списка.
Filament: код в PHP-классах, без фронтенд-сборки
Filament описывает интерфейс в PHP: ресурс на модель, внутри — методы формы и таблицы. Фронтенд работает на Livewire, поэтому webpack или Vite для самой панели вам не нужен. Это сильно снижает порог входа: вы не трогаете JavaScript вообще.
Цена такого удобства — Livewire. Каждое действие в интерфейсе — это запрос на сервер. На простых панелях это незаметно, на сложных формах с реактивными полями появляется задержка, и вы начинаете думать про wire:model.lazy и группировку обновлений. Плюс вы завязаны на модель памяти Livewire: состояние компонента сериализуется между запросами, и большие объекты в свойствах компонента бьют по производительности.
Nova: официальная, но платная и закрытая
Nova ставится через приватный Composer-репозиторий по вашей лицензии. Собрана на Vue, поэтому у неё отзывчивый SPA-подобный интерфейс без перезагрузок. Ресурсы описываются похоже на Filament — класс на модель, поля списком.
Минус — закрытый исходник. Когда вам нужно поведение, которого нет в API, вы либо пишете кастомное поле на Vue, либо упираетесь в стену. Обновления между мажорными версиями Nova иногда требуют заметной ручной работы. И платить надо за каждый проект по условиям лицензии — это стоит заложить в бюджет заранее.
Backpack: ближе к «классике» Laravel
Backpack не прячет Blade и роуты — вы работаете с привычными контроллерами. Это удобно, когда админка должна делать что-то нестандартное: у вас полный контроль над рендером. Обратная сторона — больше ручного кода на типовой CRUD, чем у Filament.
Orchid: другая ментальная модель
Orchid не про «ресурс = модель». Он про экраны с методами query(), layout() и обработчиками действий. Гибко для нестандартных панелей вроде дашбордов, но новичку придётся сломать привычку думать в терминах CRUD. Если у вас 30 однотипных справочников — это лишняя когнитивная нагрузка.
Выбор админки — это выбор того, где вы будете биться головой через полгода: о лицензию, о Livewire под нагрузкой или о ручной CRUD-код. Идеального варианта нет, есть подходящий вашей ситуации.
Сравнение по тому, что реально болит
| Критерий | Filament 3.x | Nova | Backpack | Orchid |
|---|---|---|---|---|
| Лицензия | MIT, бесплатно | Платная | Ядро free, PRO платный | MIT, бесплатно |
| Фронтенд | Livewire, без сборки | Vue (SPA) | Blade | Blade + собств. компоненты |
| Открытый код | Да | Нет | Частично | Да |
| Кода на типовой CRUD | Мало | Мало | Средне | Средне |
| Порог входа | Низкий | Низкий | Средний | Выше среднего |
| Нужен JS | Почти нет | Для кастома — да | Минимум | Минимум |
Точные версии и системные требования всегда сверяйте в документации выбранного пакета: минимальные версии PHP и Laravel меняются между мажорными релизами.
Что проверить до установки
Половина проблем всплывает уже после того, как панель поставлена и связана с проектом. Пройдитесь по списку заранее.
- Версии PHP и Laravel. Каждая админка требует минимум своей версии. Filament 3.x, например, хочет свежий Laravel и PHP не ниже определённой версии — точное число смотрите на странице установки, не полагайтесь на память.
- Как устроена ваша аутентификация. Если у вас уже настроен вход через Sanctum, Fortify или кастомный guard, проверьте, что панель умеет использовать ваш guard, а не навязывает свой. У всех четырёх это настраивается, но по-разному.
- Права доступа. Менеджеру нельзя видеть то же, что админу. Уточните, как панель дружит с вашим пакетом ролей (часто это
spatie/laravel-permission) и есть ли policy-интеграция из коробки. - Размер таблиц. Список на 2 млн строк без серверной пагинации и индексов положит любую панель. Убедитесь, что выбранный вариант делает пагинацию на стороне БД, а не тянет всё в память.
- Кастомные поля. Составьте список нетиповых полей: карта, JSON-редактор, загрузка нескольких файлов, зависимые селекты. Проверьте, есть ли они в базовой поставке или их придётся писать. Для Nova это может означать Vue-компонент.
- Мультиязычность и файлы. Если контент переводится или грузятся медиа — заранее выясните, какой пакет медиатеки поддерживается и как хранятся переводы.
Отдельно: не ставьте панель в тот же неймспейс роутов, что и ваш публичный сайт, без префикса. Конфликт роутов — классическая первая ошибка, когда после установки перестаёт открываться главная страница.
Когда что выбирать
- Стартап, нет бюджета на лицензии, команда на PHP без сильного фронтенда — Filament. Быстрый результат, ничего не платите, JS почти не нужен.
- Заказчик готов платить и хочет «как у Laravel official», нужен отзывчивый SPA — Nova. Только заложите стоимость лицензии и риск ручных миграций между версиями.
- Много нестандартной логики в интерфейсе, хотите полный контроль над Blade — Backpack.
- Панель — это не CRUD, а набор дашбордов и процессов — Orchid. Его модель экранов тут выигрывает.
Если сомневаетесь и проект типовой — берите Filament. У него самое активное сообщество среди бесплатных и меньше всего кода на старте.
Где всё это ломается
Общая ловушка всех генераторов админок: они соблазняют вставить бизнес-логику в ресурс или экран. Через полгода валидация заказа живёт в трёх местах — в форме панели, в API-контроллере и в модели. Держите логику в сервисах и Form Request, а панель пусть только вызывает их.
Вторая ловушка — производительность списка. Eager loading связей (with()) в таблице панели обязателен, иначе получите N+1 на каждую строку. Проверяйте это через Laravel Debugbar или Telescope сразу после того, как список заработал, а не когда менеджер пожалуется на десятисекундную загрузку.
Что делать дальше
Выбрали кандидата — не ставьте его сразу в основной проект. Поднимите ветку или отдельную установку, подключите одну-две реальные модели с вашими связями и правами и проверьте три вещи: скорость списка на боевом объёме данных, работу вашего guard и наличие нужных кастомных полей. Если всё три прошли — можно ставить в проект. Дальше смотрите на количество запросов к БД на страницу списка в Telescope и держите его в разумных пределах — это первый показатель, который поплывёт по мере роста данных.
Задачи: математика, физика, химия: Разбор задачи по шагам с проверкой и похожей задачей
Спросить за 10 ₽Источники: Filament — официальная документация, Laravel Nova
Частые вопросы
А если у меня старая версия Laravel, свежий Filament не встанет?
Панель установилась, но перестала открываться главная страница сайта. Что случилось?
Список товаров в админке грузится по десять секунд. Это нормально?
Можно ли переехать с одной админки на другую позже?
Nova платная — есть ли смысл платить, если Filament бесплатный?
Как связать панель с моими ролями и правами?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.