Вопрос больше теоретический. Однако интересует модель в которой типовой сайт кодогенерируется из некоторой метамодели.
Оговорюсь, интересуют не статические генераторы, и не параметризуемые типовые сайты. Интересна, прежде всего,
метамодель которая позволит сокрыть детали имплементации на достаточном уровне чтобы ускорить разработку в разы(а желательно на порядки)
Пока идеи следующие.
В качестве языка метамодели Clojure. Он мапится на предметную область следующим образом
Серверсайд. Golang в функциональном стиле.
Функции без сайд эффектов. Таким образом мы, как бы, вызываем чистые clojure функции, которые по факту являются функциями Golang и собираются в них. (Пока тестирую валидность такой модели на простом html скрапере)
Клиентсайд. Просто взять модель React(а именно синтаксическое дерево сниппетов) и адаптировать его для работы с шаблонами вообще.
----
Это низовой уровень.
Уровнем выше, я думаю взять модель построения сайтов Друпала(таксономии, страницы, списки) и выразить их в терминах низового уровня.
---
Интересно ваше мнение, какая модель для подобной задачи может иметь оптимальный prcision/recall(если вы понимаете о чем речь)
======
Заранее прошу прощения, если этот вопрос не годится для тостера. Давно размышляю на эту тему, интересно ваше мнение. Спасибо.
copal: Например, рабочая модель скрапера есть. Фактически скромное дерево селекторов и соответствующих полей разворачивается в многопоточный статически типизированный скрапер с поддержкой нескольких бекендов и красивой админкой.
-----
Задача моделирования сайта сложнее, поэтому я испрашиваю совета
FireGM:
А) Статическая типизация.
Б) Никто не говорит что нужно использовать инструменты Go. Я назвал вариант с Clojure в качества хоста/кодогенератора
В) Есть забавная мысль, что f(a,b) сложнее чем f(a)(b). Кодогенерация, это, фактически, частичное исполнение.
Не говоря о том, что лимитов у неё вообще нет. (Можно параллельно генерировать тесты, вьюхи и стили, например)
Хорошие мысли, интересное направление, сам давно хочу что-то подобное сделать. Комент без смысловой нагрузки, просто хочу морально поддержать ) Если руки дойдут, оставьте на гитхаб что получится, единомышленников найти просто и вместе всегда веселее.
Никита: Спасибо. Есть забавная еще мысль: не морочить голову а взять раскладку бд какой-нибудь cms(типа Drupal/Wordpress) и на её основе делать метамодель, а соответственно все остальное переложить на работу самой CMS.