700 часов спустя: уродливая правда о административных панелях

700 часов спустя: уродливая правда о административных панелях

11 июня 2025 г.

В 2022 году я попал в стену.

Мы отправляли еще один клиент -проект. Сроки были плотными. И еще раз, я смотрел на ту же проблему, которую я решил за дюжину раз раньше: создание панели администратора с нуля.

Я открыл свой терминал. Я вздохнул.

Затем я открыл нашу старую шаблонную папку на основе табличек, переименовал несколько файлов и начал работать еще один Crud UI. Это было хорошо. Это сработало.

Но я продолжал думать:Почему я делаю это снова?

Вот когда он щелкнул. Я был не просто разочарован - я тратил время. Восстановление той же логики снова и снова. Таблицы, формы, фильтры, кнопки. Небольшой jQuery здесь, проверка разрешений с взломанными планками. Немного отличается каждый раз, но в принципе одинаково.

Итак, я решил создать панель администратора, которую я действительно хотел использовать.

Это история о том, какАдмиралродился.

Мы не используем WordPress или готовые CMS: все, что мы строим, это пользовательское. Таким образом, для каждого клиентского проекта нам в конечном итоге нужна новая панель администратора, адаптированную для этого бизнеса.

90% случаев, это стандартная логика CRUD - продукты, пользователи, категории, заказы, что угодно. Остальные 10% включают в себя странные панели инструментов, сложные отношения данных или одноразовые инструменты, которые нужно бизнесу за кулисами.

Каждый раз возникает один и тот же вопрос:

Как мы движемся быстрее, не жертвуя гибкостью?

Я знал, какой инструмент я мечтал. Это должно было отметить все коробки:

  • []Уметь быстро разбираться в стандартных просмотрах CRUD
  • []Позвольте нам создавать пользовательские страницы так же легко
  • []По умолчанию выглядеть чистым и современным
  • []Будьте легко в стиле по проекту
  • []Работайте с любым бэкэнд (не только Laravel или Node)
  • []Полагаться на APIS REST
  • []Быть построенным на реагировании

Итак, я начал искать инструменты, которые могли бы сделать все это (и, может быть, больше?).

Что мы пробовали (и почему это не сработало):

Мы попробовали кучу существующих решений.

Мы также пытались построить свои собственные (не один раз, а три славных времена). Каждый раз мы застряли в архитектурных решениях и отказались от усилий на полпути.

Первая попытка сделать его многоразовым

Мы использовалиТаблеткаДля начала - сначала с шаблонами лезвий, затем с некоторыми компонентами реагирования.

Когда мы обнаружили Laravel Nova, нам понравилась его структура, и мы начали создавать собственную версию, используя React и Ant Design. Вот как определил ресурс в тот момент:

Это сработалоПолем Cruds были быстрее создавать. Пользовательский интерфейс чувствовал себя чистым. Но ... все это было тесно связано с Ларавелом.

Что подводит нас к следующему большому решению.


Чем больше мы использовали эту систему, тем больше трения мы нажимаем:

  1. Вы должны были запустить полную версию, чтобы работать на фронте.


    Frontend Devs были заблокированы на логике бэкэнд.

  2. Ответы JSON были плотно структурированы и трудно изменить.

  3. Пользовательские страницы былижесткийи часто требуется как на фронта, так и бэкэнд.

Итак, я позвонил:

Давайте разделим панель администратора на полностью автономное приложение React!

Теперь это работает так:

  • Frontend - это спа -салон, который разговаривает с API REST. Бэкэнд может быть чем угодно - Php, иди, что угодно.
  • Cruds настроены Backend Devs.
  • Пользовательские страницы обрабатываются Frontend Devs, используя фиктивные данные или реальные конечные точки.
  • Мы используем генераторы кодов для обработки повторяющихся вещей.

Это то, что сталоАдмиралПолем

Мы начали строить его в апреле 2022 года, работая над коммерческим проектом, который нуждался в этом. К июню 2023 года у нас была рабочая версия.

Общее время? Около 700 часов.

С тех пор мы развернули его на 10+ клиентских проектов, и это отлично работает.

Сегодня почти все наши фронтальные разработчики способствуют этому. Цель состояла в том, чтобы сделать Admiral нашей стандартной рамки пользовательского интерфейса администратора для внутреннего использования, может быть, когда -нибудь публично,иЭтот день сейчасПолем

По крайней мере, это сэкономит нам время.

Это делает наши проекты чище.

И самое главное: это позволяет моей команде работать так, как мы хотим работать.

Далее:Я покажу, как работает адмирал на практике - как мы определяем ресурсы, структурируем пользовательские страницы и почему наши разработчики на самом деленравитьсяРаботая с этим.

Следите за обновлениями!


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE