Как стать автором
Обновить

Что не так с коробочными админками, и почему стоит протестировать нашу

Время на прочтение2 мин
Количество просмотров1.5K

В 2022-м мы окончательно задолбались.

Каждый новый проект все по кругу: таблички, формы, фильтры, CRUD. Всё снова, как в Groundhog Day. Копипастить старое было больно, собирать с нуля – ещё хуже. И главное, ощущение абсурда: 2022 год, а мы продолжаем лепить админки вручную, будто на дворе 2015.

Окей, логичный шаг – найти готовое решение.

Мы правда пытались не изобретать велосипед

Первым делом пошли смотреть на CMS. Попробовали Strapi – мощный зверь, но если вам просто нужно бэку выдать пару CRUD’ов, то тянуть за собой целую экосистему с философией и особым образом жизни, это как стрелять из базуки по воробьям.

Дальше, дизайн-системы вроде Salesforce Lightning, Fluent UI и Fusion Design. Компоненты красивые, но по факту это просто UI-кирпичики. Всю бизнес-логику, связи между сущностями, обработку данных всё равно пишешь сам. Хотели сэкономить время, а получили “ты теперь ещё и архитектурой займись”.

React-Admin показался перспективным. Но мы быстро поняли, что он хочет, чтобы ты делал вещи его способом. А мы хотели делать их по-своему. Онбординг тяжёлый, кастомизация сложная, UI на любителя. Как часто бывает: сначала кажется, что ты взял инструмент, а потом он берёт тебя.

Мы поняли: компромиссы – это медленно

Ни одно из решений не дало нужного нам баланса:

  • быстро поднять админку

  • без боли кастомизировать под проект

  • не увязнуть в чужих ограничениях

  • не затащить в проект тонну лишнего кода.

Тогда и родилась мысль: «Окей, а если сделать своё? Но только по уму. Без оверинжиниринга, зато с учётом всего, что нас бесило раньше.»

Так родился Admiral.

А теперь — техподробности, чтобы не думали, что мы тут пилили кнопку «войти»

Admiral – это небольшой, но крепкий фреймворк для сборки админок на React + TypeScript.

Он не тащит за собой монолит, не требует магии и лишней философии. Это скорее набор умных заготовок, который можно быстро натянуть на любой REST-бэкенд.

Что под капотом:

  • Готовые компоненты для CRUD, с возможностью их переопределения (если у вас есть душевная боль, которую хочется выразить в форме таблички)

  • Поддержка тем и стилизация под бренд клиента (даже если у него логотип Comic Sans)

  • Локализация без боли – используем i18next

  • Респонсив – работает не только на 1440px

  • Всё это в одной связке, без лишних зависимостей и свистелок.

Мы не делали MVP за выходные. Это заняло год и ~700 часов. Потихоньку вытаскивали повторяющиеся куски, оборачивали в компоненты, добавляли конфиги, писали доку.

Теперь Admiral работает в проде уже в 10+ проектах и каждый раз экономит нам часы, нервы и нецензурщину в коде.

TL;DR

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

Admiral: https://github.com/dev-family/admiral

Мы будем рады фидбеку – как конструктиву, так и язвительным комментариям (всё-таки Хабр). Залетайте, пробуйте, кастомизируйте.

Может, пора перестать мириться с костылями?

Теги:
Хабы:
+7
Комментарии1

Публикации

Работа

Ближайшие события