Comments 5
React SSR, только на Котлине вместо Тайпскрипта?
шаблоны должен быть на Kotlin
Это уже не шаблон. Шаблон это типовой исходник в своём оригинальном формате с указаниями куда и как подставить данные. То есть шаблон это практически валидный файл .html (или любой другой, хоть .cpp).
Вы отказались от шаблонов и генерите хтмл на лету. Из плюсов - ну да, типизация Котлин. Из минусов - никакой взрослый тулинг ничего про вашу разновидность хтмл не знает. Превьювить такое без запуска кода нечем.
исправить критикал в html шаблоне бэкофиса - я решил что надо что-то делать
Можно было легким тестом покрыть со снапшотом. Входные данные такие-то, на выходе хтмл строго такой-то.
Признаюсь, я до конца понял только часть про "покрыть лёгким тестом". Если в шаблоне есть условия if, если есть циклы и вызовы других подшаблонов - такой шаблон уже не покрыть так легко. А если их у вас несколько сотен - это превращается в отдельную очень трудозатратную работу. И это я даже не говорю о том что необходимо тестировать совместимость контроллера-модель-шаблон всё вместе, потому что простой рефакторинг (изменение названия поля в классе например) - и всё, ваш лёгкий тест на Map-модели зелёный, а продакшн не работает.
В любом случае, конечно, есть разные подходы. Я описал один из них, и с учётом того сколько я всего перепробовал за почти 25 лет разработки — мне видится мой текущий подход одним из самых удобных, устойчивых и продуктивных.
React SSR - это скорее https://hotwired.dev
Я так понимаю что это все таки просто типированная генерация HTML, что вообщем экономит время, особенно учитывая синтаксис kotlin.
Обычно используют шаблоны через какой-то отдельный шаблонизатор, но такой подход даже лучше, больше возможностей, DSL для формирования HTML, доступны все возможности языка, ещё и меньше ошибок в выходном коде даст, проверяется на этапе компиляции.
Старый добрый серверный рендеринг