Будучи в основном бэкендщиком, лезть во фронтенд весело, конечно. Но в данном случае это оказалось максимально эргономичным для конечного продукта решением. В нём будет много внешних ссылок, которые открываться будут браузером, так что от браузера бежать бесполезно. А отсутствие этапа установки должно сработать на лёгкость освоения. В теории. (Криптошизы с выключенным JS отвалятся, но сказать по правде, их не очень жалко, пусть пишут себе локальную версию, если хотят.)
Так что я заперт в комнате, где нету примерно ничего, кроме JavaScript и IndexedDB. И запускать всякие адовые фронтендные сборочные комбайны с NodeJS я пока тоже не хочу – до сих пор флэшбеки от борьбы с их тормозами в CI, не хватало мне ещё этих же тормозов в разработке.
Так что обхожусь пока тем, что можно просто скачать и импортировать прямо браузером с вебсервера со статикой и не получить тормозиллу (pun intended). Надолго ли этого подхода хватит, поглядим. Пока хватает и потолка не видно.
К примеру, мне *очень* понравился Alpine.js[1]. Забавно, что на заре карьеры веб-разработчика, где-то в 2015, обсуждал с коллегой-фронтендером такой же подход, при котором присылаемая с бэкенда разметка снабжается атрибутами, описывающими простенькое поведение. С которыми не надо городить для каждого случая его применения свой компонент, получая дюжину фактически одинаковых кусков кода, в которых одно и то же поведение реализовано для разных элементов интерфейса. Бойлерплейт наше всё.
Тогда я от него услышал только усмешку и "зочем". Аргумент "это проще" разбивался о "а React-компонентами легче" – и ему, скорее всего, и правда было легче, он к этой кухне успел привыкнуть. А я на тот момент с фронтендом имел мало дел и не стал спорить. А проект, над которым мы тогда работали, вскоре скончался по несвязанным причинам.
Но такой подход, как сейчас оказывается, вполне мог работать, и скорее всего сэкономил бы нам время. Хотя это бы нас всё равно не спасло.
[1]: https://alpinejs.dev/
К примеру, мне *очень* понравился Alpine.js[1]. Забавно, что на заре карьеры веб-разработчика, где-то в 2015, обсуждал с коллегой-фронтендером такой же подход, при котором присылаемая с бэкенда разметка снабжается атрибутами, описывающими простенькое поведение. С которыми не надо городить для каждого случая его применения свой компонент, получая дюжину фактически одинаковых кусков кода, в которых одно и то же поведение реализовано для разных элементов интерфейса. Бойлерплейт наше всё.