javascript - 与非 Javascript 服务器相比,使用基于 Javascript 的服务器有哪些优势?

标签 javascript ruby-on-rails wordpress node.js express

免责声明:这个问题有点开放性。我还希望回复部分基于开发人员的偏好。

我最近一直在研究 Express.js(通过 Node.js 耦合),我正在努力寻找如何将这些技术中的任何一种融入我当前开发网站的工作流程中。最近我一直在使用 Wordpress 或 Ruby on Rails,前者将在 Apache 上运行,后者将在它自己的专有服务器上运行(我假设)。

现在也许我只是不理解某些东西,但我没有看到争取基于 Javascript 的框架/服务器支持的优势。如果将这部分纳入我的工作流程有明显的优势,它们会是什么?我一直没能找到任何方法将其放入(比如说)Rails 应用程序或 Wordpress 站点。有人能为我指出更好的方向,帮助我在已经使用的技术之上实现这些技术吗?

最后一个问题,如果有人在他们的浏览器中禁用了 Javascript 会怎样?基于 Javascript 的服务器将如何 react (如果有的话)?

最佳答案

有两个很大的区别:

事件循环

Node.js 与通常的 Apache 概念有点不同,因为它处理连接的方式不同。 Node 没有使用同步连接,而是使用事件循环来进行非阻塞操作。请注意,这不是 Javascript 独有的,并且有基于 C 和 Python 的框架也启用了类似的事件循环方法,但是在 Javascript 中,这可能是最自然的感觉,因为这就是 JS 自引入以来的工作方式。

据推测,这应该能让您处理更多的并发客户端。然而,它在现实世界中的曝光度不如常规阻塞解决方案那么多,因此这种方法不如大多数当前实现那么成熟。实际性能差异值得怀疑,因为它取决于应用程序的确切要求。

代码分享

这一点比之前的差异争议小得多,但本质上如果你在客户端和服务器上使用相同的语言,你可以重用很多代码,而不是必须重写你的数据结构等多种语言,为您节省大量开发时间。但是,您必须了解服务器端 JS 的概念与您在浏览器上所了解的不同,例如您没有带有 jQ​​uery 或 Prototype 的动态 JS,但它的结果和用例与 PHP 更相似被广泛用于。

关于javascript - 与非 Javascript 服务器相比,使用基于 Javascript 的服务器有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10856487/

相关文章:

javascript - 使用鼠标悬停更改类的 innerHTML

ruby-on-rails - "WARNING: Can' t 批量分配 protected 属性”

ruby-on-rails - Ruby on Rails - 连接两个表将结果添加到 JSON

javascript - 将用户最后的语言偏好保存在 Cookie 中

android - 使用 GSON 抛出 IllegalArgumentException 的简单 JSON 解析

javascript - 带有 "continue"和 "break"的标签是否可以跳转到其他语句?

javascript - 无法使用 Ajax 调用将数据发布到 Controller 的操作方法

javascript - jQuery Mobile 下拉菜单导致页面重新加载

javascript - 具有 2 个重力的狡猾元素

ruby-on-rails - rails : Shoulda-matchers belong_to optional test