基于树(vs. .HTML 的)Web 框架?

Tree-Based (vs. HTML-Based) Web Framework?

提问人:Neall 提问时间:8/19/2008 最后编辑:MansfieldNeall 更新时间:6/7/2012 访问量:410

问:

任何编写客户端 JavaScript 的人都熟悉 DOM——浏览器在内存中引用的树结构,由它从服务器获取的 HTML 生成。JavaScript 可以在 DOM 树上添加、删除和修改节点,以对页面进行更改。我发现它非常好用(撇开浏览器错误不谈),并且与我的服务器端代码首先必须生成页面的方式非常不同。

我的问题是:哪些服务器端框架/语言从一开始就将其视为 DOM 树来构建页面 - 插入节点而不是回显字符串?我认为如果客户端和服务器端代码都以相同的方式查看页面,那将非常有帮助。你当然可以用任何 Web 服务器语言一起破解这样的东西,但一个专门以这种方式创建页面的框架可以进行一些非常好的优化。

开源、广泛部署和已经存在了一段时间都是加分项。

JavaScript HTML DOM

评论


答:

-1赞 Andrew Taylor 8/19/2008 #1

我知道你来自哪里,但这一切都有点没有意义,不是吗。除了渲染的内容之外,您不能向浏览器发送任何东西,并且您必须一次性完成所有操作(AJAX 除外)。你的建议(从我所看到的)没有任何价值,因为即使你像树一样构建它,你仍然只是在构建一个批发发送给客户的页面。

评论

0赞 eyelidlessness 12/7/2008
这样做的好处是,您可以将数据作为数据进行交互,而不是作为该数据的字符串表示形式进行交互。
2赞 eplawless 8/19/2008 #2

你正在描述Rhino on Rails,它还没有出来,但很快就会出来。 同样,Aptana Jaxer,但 RnR 将包含一个实际的框架 (Rails),而 Jaxer 只是服务器技术。

2赞 Brian Warshaw 8/19/2008 #3

Aptana 的 Jaxer AJAX 服务器可能是您可以查看的东西,因为它也使用 JS 服务器端。

话虽如此,我认为你最好不要用打印语句或回声生成标记,而是在动态内容中加入模板和钩子。

0赞 Olivvv 6/10/2009 #4

Jaxer 是服务器端 javascript + DOM。您可以通过对 jaxer 的输出进行后处理来将 jaxer 与其他语言集成。

同样在 java、php 中,...你可以使用 xpath 来操作 DOM。