Jaxer的优缺点

9
我知道这个问题以前已经被问过,但是一个月过去了仍然没有得到合适的回答... 我正在研究Aptana's Jaxer,我发现这个概念非常令人兴奋。
以下是一个简要概述,供不熟悉的人参考:
Jaxer 是他们所说的“世界上第一个真正的 AJAX 服务器”。它基于 Mozilla 引擎,因此脚本是用 JavaScript 编写的,并且您可以完全访问服务器端的 DOM。
脚本使用 <script> 标签放置在页面上,您可以指定一个 runat 属性(类似于 ASP.NET)来标记脚本在客户端、服务器端、两者或作为“服务器代理”上执行。这也意味着您可以在服务器端和客户端上使用您喜欢的客户端库(jQuery、Prototype)。
它还可以用于处理使用其他语言(例如php、ruby)生成的文档,但我想这不实际,除非是为了帮助过渡现有应用程序以使用Jaxer。
优缺点是什么?
API的成熟度/稳定性如何?
与其他服务器端HTML预处理器相比,性能如何?
是否有人将Jaxer与其他技术(如php、pearl、ruby等)一起使用过?你的经验是什么?
编辑:我在使用Jaxer时发现了一个缺点,已发布另一个问题:在使用Jaxer时定义对象
3个回答

12

我使用Jaxer的时间不算长,以下是我发现的一些事情:

优点

  • 可以在同一个代码中编写前端和后端。对于编写验证逻辑特别有用。
  • "无缝"地通过AJAX与服务器进行通信 - 就像调用JS函数一样。
  • 可以使用像jQuery这样的JavaScript框架来操作DOM。
  • 可以使用Canvas API生成或操作图像。
  • 您可以使用像数组扩展和getter / setter之类的新颖的JavaScript 1.8功能编写服务器JavaScript。

缺点

  • 我发现他们的API不稳定(当我尝试时,他们正在过渡到1.0,所以这种情况有点合理),文档令人困惑、缺失或与已更改的功能不匹配。我还发现,很难调试我的Jaxer服务器端代码,并且当我遇到问题时,错误消息并不是很有帮助。
  • 您没有真正的MVC甚至MVP(ASP.NET风格)在您的表示层和逻辑之间分离。
  • 我个人无法让E4X(JavaScript中的xml)工作,这应该是一个很大的吸引力。
  • 没有太多围绕它构建的框架可以用于构建整个应用程序。您从一些非常基本的构建块开始。
  • 它实际上并没有在视图中提供任何帮助,因此忘记您可能在其他地方使用的模板或可重用组件。不是说您不能复制它,但比起现成的解决方案更加困难。

总体而言,我认为Jaxer作为另一个Web框架前的后处理器具有最大的潜力。使用Jaxer在现有站点上添加所有漂亮的AJAX功能将是很棒的。这将使得共享服务器端和客户端之间的验证/页面操作逻辑变得更加容易。但我不认为我会只使用Jaxer编写应用程序。此外,它还很年轻(且不成熟)- 我很想看看它最终发展到哪里。


我现在已经安装了Jaxer,第一件测试的事情是E4X功能。看起来很好用,是一个非常强大的工具。但需要记住的是,E4X代码应该保留在服务器端,因为Mozilla是唯一知道如何处理它的浏览器。 - Prestaul
是的,我知道这只适用于Moz。就像我说的,在1.0版本过渡期间的测试版中,我使用它时遇到了E4X的困难。如果它能正常工作,那就太好了,但如果不能,那就完全不透明。 - bhollis

1

我找到了这组性能基准测试

看起来Jaxer的表现比Rails好,但不如php...


0

@BRH:非常有见地。我同意你的所有“优点”和“缺点”,包括2、4和5号,以及最后的总结。我有点感觉他们并没有打算取代上游框架的任何市场...但是如果他们能够做到这一点,并保持如此紧密和易懂的话,我希望他们会这么做!我喜欢他们的思维方式!

P.S. 我不知道它是否新的,但有一个<jaxer:include标签将片段注入到服务器端脚本执行之前的页面中,这可能在某些代码重用方案中有所帮助。还有更多可以发现的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接