Основанная на дереве (по сравнению с HTML) веб-платформа?

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

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

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

18.08.2008 16:58:12
4 ОТВЕТА
РЕШЕНИЕ

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

2
18.08.2008 17:26:30

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

-1
18.08.2008 17:01:31
Преимущество заключается в том, что вы можете взаимодействовать с данными как данными, а не как строковое представление этих данных.
eyelidlessness 7.12.2008 03:22:55

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

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

2
18.08.2008 17:07:12

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

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

0
10.06.2009 01:46:17