Основанный на дереве (по сравнениюОснованный на HTML) Веб-фреймворк?

StackOverflow https://stackoverflow.com/questions/14909

  •  08-06-2019
  •  | 
  •  

Вопрос

Любой, кто пишет клиентский JavaScript, знаком с DOM - древовидной структурой, на которую ссылается ваш браузер в памяти, сгенерированной из HTML, полученного им с сервера.JavaScript может добавлять, удалять и изменять узлы в дереве DOM для внесения изменений на страницу.Я нахожу, что с ним очень приятно работать (если не считать ошибок браузера), и он сильно отличается от способа, которым мой серверный код должен генерировать страницу в первую очередь.

Мой вопрос заключается в следующем:какие серверные фреймворки / языки создают страницу, рассматривая ее как DOM-дерево с самого начала - вставляя узлы вместо повторяющихся строк?Я думаю, было бы очень полезно, если бы клиентский и серверный код видели страницу одинаково.Вы, конечно, могли бы взломать что-то подобное вместе на любом языке веб-сервера, но фреймворк, предназначенный для создания страницы таким способом, мог бы внести некоторые очень приятные оптимизации.

Открытый исходный код, широкое распространение и то, что он существует уже некоторое время, - все это было бы плюсами.

Это было полезно?

Решение

Ты описываешь Носорог на рельсах, который еще не вышел, но скоро выйдет.Аналогично, Аптана Джаксер, однако RnR будет включать в себя фактический фреймворк (Rails), тогда как Jaxer - это всего лишь серверная технология.

Другие советы

Возможно, вам стоит обратить внимание на AJAX-сервер Aptana Jaxer, поскольку он также использует JS на стороне сервера.

При этом я бы сказал, что вам лучше не генерировать свою разметку с помощью операторов печати или эхо-сигналов, а использовать шаблон и привязку к вашему динамическому контенту.

Jaxer - это серверный javascript + DOM.Вы можете интегрировать jaxer с другими языками путем последующей обработки их выходных данных.

Также в java, php, ...вы можете использовать xpath для управления DOM.

Я понимаю, к чему ты клонишь, но все это немного спорно, не так ли?Вы не можете отправлять в браузер ничего, кроме отрисованного контента, и вам нужно сделать все это за один раз (исключая AJAX).В том, что вы предлагаете, нет никакой ценности (из того, что я вижу), поскольку даже если вы создадите это в виде дерева, вы все равно создадите только страницу, которая будет отправлена клиенту оптом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top