1

由于 Jaxer 的存在时间更长,如果您是像我这样不熟悉在服务器端使用 JavaScript 编程的开发人员,它是否比 Node.js 更好?

4

2 回答 2

8

Jaxer 和 node.js 是非常不同的东西。

将 Jaxer 视为运行在服务器端的 Firefox,但它不是 GUI,它与外部世界的接口是 Apache。它几乎可以做任何客户端浏览器可以做的事情:从第三方服务器获取页面,针对该页面运行 JS,通过 DOM 从其中提取元素,将新内容替换到其中等等。

Jaxer 也可以或多或少地像 ASP 或 PHP 一样工作,只需在 Jaxer 通过 Apache 提供的 HTML 文件中的特殊标签内执行 JS,这样您就可以将一些动态内容插入到那些原本是静态的页面中。

Jaxer 有一个巨大的缺点:它是死技术

另一方面,node.js 不是在服务器上运行的浏览器,它现在非常活跃,并且与 Apache 或任何其他标准 Web 服务器没有任何联系。

您可以使用 node.js 的HTTP 组件构建自己的 Web 服务器,但这会带来Lisp 诅咒:因为没有标准的 Web 服务器,每个人都以不同的方式构建自己的 Web 服务器,因此在该主题上没有集中的专业知识。

模板和其他进入 ASP 或 PHP 类型平台的东西也是如此:没有完整的内置组件意味着您最终会从提供的部分组装自己的组件。

这使得 node.js 最适合那些你已经必须自己重新实现所有东西的项目,所以你想要的是一盒工具和组件,而不是一个“平台”。如果您可以公平地将您的项目描述为一个 Web 应用程序,这意味着它是一个恰好通过 Web 显示其 UI 的应用程序,并且它的大部分内容是动态生成的,而不是从文件中提供的,那么 node.js 可能是一个不错的选择。

相反,如果您只需要将一些动态内容替换为大部分是静态的演示文稿,那么,我不能真正推荐 Jaxer,但是插入标准 Web 服务器的类似东西是更好的选择。

于 2011-08-18T19:26:49.223 回答
7

尽管都使用 JavaScript 作为语言,Jaxer 和 Node.js 实现了两个不同的目标。Jaxer 似乎被定位为一种服务器端 Web 脚本语言(如 PHP 或 ASP.NET),而 Node.js 更像是一种通用的事件驱动网络服务器框架,恰好能够为 Web 页面提供服务。

您应该选择哪种解决方案完全取决于您要做什么。如果您可以用服务器端 JavaScript 的目标来扩展您的问题,那么我们可以就使用什么提供更好的建议。

于 2011-08-17T20:10:25.273 回答