我理解这是事件驱动和非阻塞所有这一切,但我感到困惑的是它的意图。
node.js是否意味着我们现在有了在服务器端运行Javascript的基础,以便稍后可能有人将为节点创建Ruby on Rails或ASP.NET MVC等价物。 JS / JavaScript的?也许那里已经有了网络框架,但如果是这样的话,我还没有听过炒作机器。
我希望我的问题很明确。
答案 0 :(得分:4)
我认为主要影响是双重的:巨大的性能和可扩展性增益,以及创建Web应用程序的可能性,其中两个或更多人可以同时在同一个Web应用程序上工作,观察其他人在做什么,实时。后者不仅对基于网络的游戏有重大影响,而且对协作工具等也有重大影响。
看来node.js正是实时网络所需要的。对于那种事情,一定要结帐Socket.IO,它实现了跨浏览器的HTML5网络套接字。结合node.js,这就形成了一个令人难以置信的平台。
查看node.js knockout处的内容,了解可以做些什么的一些示例。
答案 1 :(得分:3)
我认为你所希望的对于Python来说更像twisted
,而不是像rails
用于Ruby - 一个丰富,强大的框架,但仍然需要技巧和关注才能正确使用,因为异步编程总是那样......这是你为其绝对可怕的性能潜力所付出的代价。 p>
有一些Javascript服务器端框架,但是服务器端Javascript永远不是一个非常受欢迎的选项,这样的框架永远不会获得支持和热情的“临界质量”,比如jQuery
或者rails
用于服务器端的ruby。
我怀疑异步编程(以其微妙和困难)将成为“群众运动”的定义触发器(嘿,我希望我错了,但我看到例如Django的相对受欢迎程度,与Twisted相比没有令人敬畏的性能,_all_令人敬畏的表现......但也有本身的难度! - )。
OTOH其他开发(简单地说,就像V8 这样强大,高性能,可靠的Javascript引擎的广泛可用性)更有可能最终导致广泛的可用性(非异步; - )服务器端Javascript选择,和因此开发的可能性(或移植 - 例如,像dojo这样的框架已经可以提供很多东西了一个JS服务器端应用程序,其中只有部分实际上是客户端的强大的简单,因此最终流行的框架。尽管如此,我也不会屏住呼吸......答案 2 :(得分:3)
Node.js是application server,还不是另一个webapp服务器。正如文章所说,它可以省去编写事件循环和使用两种语言编写应用程序的麻烦(python / java / ruby / php后端,js前端)。由于它基于谷歌的V8引擎,因此速度非常快,内存占用率低。
有一个名为GeddyJS的web service framework,Node.js带有一组用于IO,数据库和数学的库。它也可以用插件扩展它,虽然上次我检查文档仍然有点粗糙。
答案 3 :(得分:0)
有一个名为bogart的节点框架,您可以轻松地使用MVC模式和mustache或common-ejs进行模板化。