Руководство по админ-панелям Laravel

Вы изучаете различные варианты поставки панели администратора для вашего приложения 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 и многие другие. Выбор непрост, но ответы на эти вопросы помогут вам принять решение:

  1. Достаточно ли у вас ресурсов в области разработки, продукта, UX и дизайна, чтобы создать админ-панель Laravel с нуля?
  2. Хотите ли вы, чтобы нетехнические члены команды взяли на себя ответственность за свои инструменты?
  3. Вам нужно быстро создать MVP или вам нужна админ-панель, которая будет масштабироваться от нескольких до тысяч пользователей?

Надеюсь, эта статья дала вам представление о различных способах создания внутренних инструментов для вашего приложения Laravel. Если вы решили попробовать Forest Admin, зарегистрируйтесь бесплатно и попробуйте сами.

Оцените статью
Procodings.ru
Добавить комментарий