Web-приложения без деления на frontend и backend
Оказывается, есть решения, которые устраняют деление на frontend и backend, и позволяют писать всё Web-приложение на одном языке. Это Phoenix LiveView для elixir и HLive для Go. Вроде бы есть еще HotWire для Ruby on Rails и что-то похожее для Laravel. Схема взаимодействия при этом такая же, как в библиотеке HTMX — куски кода, которые нужно заменить, рендерятся на сервере, отсылаются на клиент через WebSocket и вставляются в нужное место, только всё это берёт на себя framework.
На первый взгляд, для разработки в одиночку — хорошее решение уже хотя бы тем, что не нужно дублировать валидацию на стороне клиента и сервера и вручную писать логику передачи данных по WebScoket. Но вот конструкции вида
page.DOM().Body().Add(
Header(
H1("Form Data Initial Sync"),
P("Some browsers, life FireFox, don't clear form field data after a page reload. "+
"HLive will send this data to relevant inputs when this happens."),
),
Main(
P("To test, using FireFox, change the fields below then reload."),
H2("Form"),
Div(
Label("Text"),
Br(),
),
)
)
немного мозголомные. Сейчас пробую осваивать HLive, позже отпишусь о впечатлениях более детально.
Ребята, давайте жить спокойно!
У вас нет прав для отправки сообщений в эту тему.
