Фуллстек. Фронтенд для бекендеров 6

Предыдущие серии: 1, 2, 3, 4, 5

Итак, нам нужно было сделать админку. Для этого мною был прособеседован и нанят Rails джун, и мы приступили. Для Rails есть много разных админок, но все они проигрывают по красоте AdminLTE, поэтому, после пары дней исследований было решено велосипедить свое решение, без хитрых генераторов, а для стилей взять вышеупомянутый AdminLTE.

Буквально через неделю у нас уже была вполне работающее приложение с базовыми функциями. К таблицам были прикручены сортировки и стили, пагинация, формочки и так далее. Если нужно было добавить еще какую-то сущность ("заказы" например) то все таблицы и формы просто копипастились, менялись названия контроллеров, полей и прочего и все это выкатывалось. Копипаст конечно не очень хорошо, но в нашем случае пришлось бы изобретать свой генератор, который так или иначе упирался в граничные кейсы (таблицы и формы иногда были разными). Все это выглядело довольно красиво и было несложным в доработке и поддержке. Заказчик доволен, пользователям все удобно, все счастливы. Приложение до сих пор живет в продакшене и активно используется.

После такого успеха я уверовал в шаблоны и на протяжении следующего года мы сделали еще два похожих проекта. Во всех случаях на фронтенд мы не тратили времени вообще — просто собирали страницы из готовых компонент и фокусировались на реализации бизнес-логики.

Есть конечно у такого подхода своя обратная сторона — когда нужно сделать сложную форму, или валидацию, или взаимосвязь между элементами на странице то на сцену выходит б-гомерзкий jQuery со своими низкоуровневыми манипуляциями DOM деревом, и тут уже надо немного думать, как все это дело грамотно организовать.

Поэтому, для следующего проекта я решил немного заморочиться и сделать фронтенд на реакте. Для реакта есть не так много вменяемых шаблонов админок (а те, которые есть, часто идут с jQuery впридачу), поэтому после трех дней изысканий я купил за 20 баксов чисто CSS-ный шаблон основанный на Bulma (bulma.io) и пошел учить реакт, благо основы постигаются буквально за полчаса, а дальше только успевай строгать компоненты.

Итог повествования такой — если вы норм бекенд чувак и еще не фуллстечите на минималках — то советую попробовать поделать вот такие простые штуки для внутренних нужд (настроек всяких микросервисов, аналитики/мониторинга, админок для саппорта и т.д.). Реально развязывает руки и позволяет сделать приложение от начала до конца в одиночку, без необходимости бегать за просьбами сделать верстку к ребятам обсуждающим всякие стрёмные вещи типа флексбоксов и новых реакт хуков.

Ну а со временем и практикой уже появится понимание, что к чему в стилях, и обучение html/css будет происходить естественным путём.


Сподобалось? Долучайтеся до мого телеграм каналу: https://t.me/full_of_hatred