node.js有什么含义?

嘿,伙计们,最近我一直在阅读node.js。 我曾经看过很多关于如何真的很棒的文章,全部来自一些知名人士。 鉴于这个项目似乎有惯性,而且我目前正在学习javascript和jQuery,这个项目已经引起了我的注意。 我知道很多人对此感到兴奋,但是我不太明白它的含义

我明白,这是事件驱动的,非阻塞的,所有这一切,但我困惑的地方是关于它的意图。

node.js是否意味着我们现在有一个在服务器端运行Javascript的基础,所以稍后也许有人会为node.js / Javascript创buildRuby on Rails或ASP.NET MVC等价物? 也许已经有网页框架了,但如果是这样我还没有听说过炒作机器。

我希望我的问题很清楚。

我认为,你所希望的是更像Python的twisted ,而不是Ruby的Rails–一个丰富,强大的框架,但仍然需要技巧和关心才能正确使用,因为asynchronous编程总是这样。 ..这是你付出的绝对令人敬畏的性能潜力的代价。

已经有和已经有Javascript服务器端框架,但与服务器端JavaScript从来没有成为一个真正的stream行的选项,这样的框架从来没有得到支持和热情,即jQuery的“临界质量”,或rails的ruby服务器端的东西。

我怀疑asynchronous编程( 以其微妙和困难 )将成为“群众运动”的决定性触发器( 嘿,我希望我错了,但是我看到,例如,Django的Python的相对stream行,没有什么好的performance,与Twisted相比,具有令人敬畏的performance……但内在的困难呢!

OTOH的其他开发( 例如,简单地说,像V8这样强大,高性能,可靠的Javascript引擎的广泛可用性 )更可能最终导致( 非asynchronous; – )服务器端Javascriptselect的广泛可用性, 并且作为结果是,开发( 或移植 – 例如像dojo这样的框架已经可以为JS服务器端应用程序提供很多function,只有部分function实际上是客户端function )的function强大, 简单 ,因此最终stream行的框架。 不过,我不会屏住呼吸,等待那个…

我认为主要的影响是双重的:性能和可扩展性的巨大提高,以及创buildWeb应用程序的可能性,在这个应用程序中,两个或两个以上的人可以同时在同一个Web应用程序上工作,时间。 后者不仅对networking游戏有很大的影响,而且对协作工具等也有很大的影响。

看来node.js正是实时web所需要的。 对于这样的事情,一定要检查Socket.IO ,它实现了跨浏览器的HTML5networking套接字。 与node.js结合,这使得一个令人难以置信的平台。

看看在node.js knockout上做了些什么可以做的例子。

Node.js是一个应用程序服务器 ,不是另一个webapp服务器。 正如文章所说,它为您节省了编写事件循环和使用两种语言编写应用程序(python / java / ruby​​ / php后端,js前端)的麻烦。 由于它基于Google的V8引擎,速度非常快,而且占用的内存也很less。

有一个名为GeddyJS的Web服务框架 ,Node.js带有一组用于IO,数据库和math的库。 也可以用插件来扩展它,虽然上次我查了文档还是有些粗糙的。

有一个名为bogart的节点框架,你可以很容易地使用MVC模式和胡须或common-ejs进行模板化。

http://github.com/nrstott/bogart

Interesting Posts