#пост Fullstack на Golang

Когда я начинал писать приложения лет 15 назад, не было такого понятия как Frontend. Был сайт, скажем, на php, где все рендерилось на сервере, а если нужно было немного динамики, добавляли JS. По сути — все SSR.

Но Frontend развивался, клиентские приложения становились больше, начинали содержать кучу логики и появились SPA (Single Page Application), которые формировали UI исключительно при выполнении JS на клиенте. Это давало более плавные UI, но нагружало клиент, увеличивало время до первого взаимодействия и не давало нормально индексировать сайт, если он был целиком на JS. Для индексации даже придумали пререндер, который в headless хроме проходился по сайту и после рендера складывал голые html файлы для роботов.

Теперь мы видим обратный тренд с SSR на Next, Nuxt. Чтобы сделать, скажем, новостной сайт нужно: — Развернуть Nest приложение, проработав разделение клиентских и серверных компонент — Написать и поднять API — Интегрировать их между собой — Сломать пару клавиатур, разобравшись в кэше Next, между парой подов и проблемами с Ingress — И так далее

Все это замедляет разработку и повышает косты. Конечно, это оправдано для сайтов, где на Frontend очень много логики, работы с состояниями и сложный UI. Но для новостного сайта, блога, рейтингов и многого другого — это избыточно.

В результате мы пришли к тому, что если на фронте описанное выше не нужно — проще использовать старый добрый подход, но уже на современном стеке: Golang, Fiber, Templ — прекрасная производительность, декомпозиция на компоненты и скорость разработки. А для динамики — HTMX. Про этот стек, думаю скоро, будет новый курс в разделе Go.

repost

43

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь