与Jaxer的利弊

时间:2008-09-19 02:14:35

标签: javascript ajax aptana jaxer

我意识到这个问题一直是asked before,但已经过了一个月没有得到正确答案......我正在看Aptana's Jaxer,我发现这个概念非常令人兴奋。< / p>

以下是对不熟悉的人的快速概述:

用他们的话说,Jaxer是“世界上第一个真正的AJAX服务器”。它基于Mozilla引擎,因此脚本使用javascript编写,您可以完全访问服务器端的DOM。

使用<script>标记将脚本放在您的页面上,您可以指定runat属性(ala ASP.NET)来标记要在客户端,服务器上执行的脚本,或者作为“ “server-proxy”使客户端上的函数可用,但它们通过AJAX在服务器上执行。这也意味着您可以在服务器和客户端上使用您喜欢的客户端库(jQuery,Prototype)。

它还可以用来处理用另一种语言生成的文档(例如php,ruby),我想这是不切实际的,除了帮助转换现有的应用程序以使用Jaxer。

  • 有什么优点和缺点?
  • API的成熟/稳定程度如何?
  • 与...相比,表现有多好 其他服务器端的HTML 预处理器?
  • 有没有人使用Jaxer和另一个人 技术(php,珍珠,红宝石等) 你的经历是什么?

编辑:我发布了另一个关于我在玩Jaxer时发现的缺点的问题:Defining objects when using Jaxer

4 个答案:

答案 0 :(得分:12)

我没有长时间使用Jaxer,但这里有一些我发现的东西:

<强>赞成

  • 在同一代码中编写前端和后端。特别适合编写验证逻辑。
  • “无缝”AJAX通信回到服务器 - 就像调用JS函数一样。
  • 能够使用jQuery之类的JavaScript框架来操作DOM。
  • 使用Canvas API生成或操作图像的功能。
  • 您可以使用奇怪的新JavaScript 1.8功能(如Array extras和getter / setter)来编写服务器JavaScript。

<强>缺点

  • 我发现他们的API不稳定(当我尝试它时它们正在转换到1.0,这样有点意义)并且文档令人困惑,缺失或与更改的功能不匹配。我还发现调试我的Jaxer服务器端代码非常困难,当我遇到麻烦时,错误消息不是很有帮助。
  • 您的演示文稿和逻辑之间没有真正的MVC甚至MVP(ASP.NET风格)分离。
  • 我个人无法使用E4X(JavaScript中的xml)工作,这应该是一个很大的吸引力。
  • 围绕它构建整个应用程序并没有很多框架。你是从一些非常基本的构建块开始的。
  • 在您的视图中,它并没有真正提供任何帮助,因此请忘记您可能在其他地方使用的所有模板或可重用组件。并不是说你不能复制它,但它比开箱即用更困难。

总的来说,我认为Jaxer作为另一个网络框架前的后处理器最有希望。使用Jaxer将所有漂亮的AJAX内容分层到现有站点之上会很棒。这将使得在服务器和客户端之间共享验证/页面操作逻辑的动态站点变得更加容易。我不认为我只想使用Jaxer编写应用程序。而且,它很年轻(而且还不成熟) - 我很想知道它最终会在哪里发生。

答案 1 :(得分:1)

我确实遇到了这组performance benchmarks

看起来Jaxer的性能比Rails好,但不如php ......

答案 2 :(得分:0)


@BRH:很有见地。我会回应所有“优点”和“缺点”2,4和&amp; 5,你最后的概述。我有点意识到他们并不打算取代上游框架的任何市场......但如果他们能够这样做并保持它的紧密和可理解性,我希望他们这样做!我喜欢他们的想法!

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

答案 3 :(得分:0)

我相信Jaxer非常有前途,来自这里的AJAX开发人员;)...虽然这意味着我必须取消或少用PHP,这是我的第一语言。 :)