Вы изучаете различные варианты поставки панели администратора для вашего приложения Laravel? Одна из идей — создать ее с нуля с помощью Laravel. В конце концов, этот фреймворк на основе PHP облегчает создание различных продуктов, включая внутренние инструменты.
Где же здесь подвох? Ну… Вам придется привлечь не только разработчиков Laravel, но и UX, дизайн и продукт. В противном случае вы рискуете оснастить свои бизнес-команды неэффективными инструментами и поставить под угрозу их продуктивность. Даже основатели Laravel подумали об этом и создали Laravel Nova с готовыми функциями, такими как CRUD-интерфейс, поиск, фильтры, уведомления и многое другое. Но является ли Laravel Nova единственным вариантом, который у вас есть? Вовсе нет. Мы протестировали и сравнили другие решения админ-панелей для Laravel, чтобы помочь вам сделать осознанный выбор.
Типы админ-панелей Laravel
Прежде чем погрузиться в эту тему, давайте вкратце рассмотрим различные типы админ-панелей Laravel, поскольку важно отличать внутренние CRUD-интерфейсы от визуальных конструкторов и шаблонов админ-панелей.
Визуальные конструкторы
Благодаря визуальным конструкторам пользовательского интерфейса вы можете создавать и управлять своей админ-панелью непосредственно из графического интерфейса без кода, обычно используя конструкторы drag-and-drop. Они напоминают системы CMS, но обычно визуальные конструкторы админ-панелей предлагают больше функциональных возможностей, чем добавление и обновление контента.
Визуальные конструкторы полезны, когда ваша команда невелика и в ней нет разработчиков, способных управлять внутренними инструментами, или когда вы хотите передать нетехническим бизнес-командам право собственности на инструменты, которые они используют. Однако имейте в виду, что конструкторы без кода обычно имеют ограниченные возможности настройки.
В следующем разделе вы найдете подробное описание визуальных конструкторов для админ-панелей Laravel, таких как Voyager и Backpack DevTools.
CRUD-интерфейсы
CRUD-операции являются основой внутренних инструментов. Это потому, что в наши дни трудно найти приложение с пользователями и/или данными, которое бы не взаимодействовало с базой данных. Каждый пользователь, который вносит правку в элемент в системе, добавляет новый или удаляет данные, которые больше не нужны, выполняет одну из операций CRUD (создание, чтение, обновление, удаление).
CRUD-интерфейс можно построить с нуля, но существует множество решений, которые предоставляют его «из коробки». В следующем разделе вы узнаете о самых популярных пакетах для Laravel, таких как Laravel Nova, Filament, Backpack и Quick Admin Panel.
Самые популярные админ-панели Laravel
Laravel Nova
Nova — это официальная панель администратора для Laravel, разработанная создателями Laravel. Она работает на основе Vue.js, Vue Router и Tailwind.css на фронт-энде и конфигурируется с помощью простых классов PHP на бэк-энде, что очень хорошо вписывается в экосистему Laravel. Его основные возможности включают полный CRUD-интерфейс, поиск и фильтры, графики и метрики, авторизацию, уведомления, условные поля и многое другое. Дополнительные функции поставляются сообществом в виде пакетов с открытым исходным кодом.
Laravel Nova: плюсы
- Laravel Nova был создан и поддерживается командой Laravel, поэтому он соответствует экосистеме, ее дизайну и функциям.
- Пользовательский интерфейс чист и удобен.
- Он подходит для крупных корпоративных проектов.
Laravel Nova: недостатки
- Laravel Nova недоступен бесплатно. Бесплатной пробной версии тоже нет, но вы получите компенсацию, если отмените лицензию в течение первых 14 дней.
- Laravel Nova не является решением с низким кодом. Использовать его для создания внутренних инструментов быстрее, чем делать это с нуля, но все же это требует некоторого кодирования и знания Laravel, PHP и composer. Это также означает, что Laravel Nova не может быть отредактирована и настроена нетехническими членами команды.
- Готовые функции сложно настроить.
Filament
В отличие от других решений из этой статьи, Filament рекламируется не как панель администратора или решение для внутренних инструментов, а как набор инструментов для быстрого создания красивых приложений на основе стека TALL (tailwindccc, Alpine.js, Laravel, Livewire). В нем есть панель администратора, конструктор таблиц и конструктор форм. Сообщество Filament также создает пакеты с дополнительными функциями, такими как пользовательские поля, различные интеграции, графики и многое другое.
Filament: Плюсы
- Filament — это проект с открытым исходным кодом и сильным сообществом, которое продолжает создавать пакеты и поддерживать других пользователей Filament.
- Это чистое и простое решение, позволяющее получить готовую к работе панель администратора за несколько минут.
Filament: Минусы
- Есть простая функция для ролей, но Filament не позволяет настроить более сложную систему для команд и разрешений.
- Нет визуального редактора макетов, что не позволяет нетехническим сотрудникам настроить инструмент, который они используют ежедневно.
Backpack
Backpack — еще одно популярное решение для доставки админ-панели Laravel. Он требует минимального технологического стека из Laravel, Bootstrap и jQuery, чтобы настроить все в Backpack. Кроме того, можно (но не обязательно) использовать Vue, React, Webpack, Mix, Less, Saass, NPM и многое другое.
Backpack состоит из двух основных пакетов: BackpackCRUD, ускоряющий процесс создания CRUD-интерфейсов, и BackpackBase, отвечающий за логин, сброс пароля, страницы ошибок и так далее. Однако, он также является модульным и легко расширяемым, что делает его мощным решением, в том числе и для сложных приложений.
Laravel Backpack: Плюсы
- Backpack предоставляет разработчикам Laravel множество возможностей по настройке, гораздо больше, чем Nova и Filament.
- Фильтры являются мощными и могут быть легко реализованы.
- Четкая и подробная документация
Laravel Backpack: Минусы
- Backpack не является бесплатным для любого коммерческого использования.
- Его возможности настройки — это обоюдоострый меч, поскольку каждое изменение требует довольно много ручного кодирования.
Voyager
Voyager называют недостающим администратором Laravel, вероятно, потому, что в отличие от Nova, Filament и Backpack, Voyager — это визуальный конструктор, что делает его простым в использовании для младших разработчиков и тех, кто имеет ограниченные навыки кодирования. Voyager имеет шесть основных функций: Медиа-менеджер (аналогичный тому, что мы знаем из WordPress), конструктор меню (позволяющий быстро добавлять, редактировать и удалять пункты меню), менеджер базы данных (альтернатива схеме Laravel), конструктор BREAD/CRUD, позволяющий просматривать, читать, редактировать, добавлять и удалять записи и представления любой таблицы в базе данных, настройки и компас, помогающий работать с ресурсами Voyager.
Laravel Voyager: Плюсы
- Легко начать и использовать, понятная документация и сильное сообщество.
- Он бесплатный и с открытым исходным кодом.
Laravel Voyager: Минусы
- Пользовательский интерфейс, который делает его таким простым в управлении, также ограничен.
- Он не подходит для сложных приложений, требующих настройки ролевых разрешений, рабочих процессов утверждения и других менее типичных функций.
Панель быстрого администрирования
Quick Admin Panel — это онлайн генератор внутренних инструментов для приложений Laravel. Чтобы начать работу, вам нужно зарегистрироваться на сайте, создать проект и добавить выбранные функции, такие как меню, поля и отношения. Затем Quick Admin Panel сгенерирует файлы Laravel, которые необходимо загрузить и установить, как и любой другой проект Laravel.
Quick Admin Panel: Плюсы
- Quick Admin Panel, как следует из названия, работает быстро. Даже веб-сайт намекает, что это хороший выбор для MVP, первой версии нового проекта Laravel.
- Quick Admin Panel генерирует код и файлы Laravel, и все можно настроить позже.
Quick Admin Panel: Минусы
- Ваши потребности и модели должны быть определены заранее, до создания Quick Admin Panel.
- Дальнейшая настройка требует много ручного кодирования.
Forest Admin for Laravel: Универсальная панель администратора Laravel
И последнее, но не менее важное: Forest Admin недавно получил новую интеграцию, и теперь он доступен и для Laravel. Это лучшее из двух миров: с Forest Admin вы получаете и CRUD-интерфейс из коробки, и возможность добавлять функции, соответствующие вашим конкретным бизнес-сценариям, и, наконец, редактор макета пользовательского интерфейса для нетехнических членов команды.
Forest Admin в качестве решения KYC
Forest Admin: Редактор макетов с возможностью перетаскивания
Вот что еще отличает его от решений, перечисленных выше:
- Forest Admin имеет уникальную гибридную архитектуру. На серверах Forest Admin управляется только фронтенд, поэтому данные ваших клиентов остаются невидимыми для Forest Admin. Это дает вам гибкость SaaS-инструмента без кода без ущерба для безопасности данных.
- После установки Forest Admin вы получаете более 30 функций из коробки: CRUD, поиск и фильтры, разрешения на основе ролей, рабочие процессы утверждения, компоненты с низким содержанием кода для шаринга и т.д. Затем вы можете свободно настраивать свою панель администратора, реализуя собственные действия, визуализируя данные после применения определенного набора условий, зеркально отражая свои бизнес-операции, выстраивая виртуальные отношения между коллекциями, вычисляя данные на ходу и многое другое.
- Благодаря интуитивно понятному редактору пользовательского интерфейса с перетаскиванием и недавно выпущенным рабочим пространствам, Forest Admin может управляться нетехническими членами команды, которые обычно используют его на ежедневной основе.
- Forest Admin является масштабируемым, поэтому вам не нужно беспокоиться о том, что произойдет, если вы начнете с MVP, а затем будете праздновать экспоненциальный рост. Forest Admin используют новые стартапы, устоявшиеся единороги и все типы компаний между ними.
Заключение
Как видите, если вам не хочется создавать панель администратора для своего приложения на Laravel с нуля, вы не одиноки. Сообщество Laravel уже создало несколько удобных и эффективных решений, включая те, которые я не упомянул в этой статье, такие как Admin Architect, Argon, InfyOm Laravel Generator, LaraAdmin, Orchid и многие другие. Выбор непрост, но ответы на эти вопросы помогут вам принять решение:
- Достаточно ли у вас ресурсов в области разработки, продукта, UX и дизайна, чтобы создать админ-панель Laravel с нуля?
- Хотите ли вы, чтобы нетехнические члены команды взяли на себя ответственность за свои инструменты?
- Вам нужно быстро создать MVP или вам нужна админ-панель, которая будет масштабироваться от нескольких до тысяч пользователей?
Надеюсь, эта статья дала вам представление о различных способах создания внутренних инструментов для вашего приложения Laravel. Если вы решили попробовать Forest Admin, зарегистрируйтесь бесплатно и попробуйте сами.