node.js与其他web技术相比的优势

据我所知, node.js对Java脚本程序员来说是有用的,他们现在可以在服务器端进行开发。 另外,一些Java脚本代码可以从客户端移植到服务器端。

与其他服务器端技术(Java Web框架, RoRDjango等)相比, node.js有没有其他的优势?

包pipe理

与Java的Maven相比,node.js包pipe理系统( npm )是史上最好的。 对我来说,这应该足以改变。 我build议你检查的软件包:

  • performance
  • socket.io
  • node_redis
  • mongoose
  • everyauth

您可以使用http://search.npmjs.org/search软件包

快速

node.js非常快(事件循环非阻塞),并且具有非常快速的本地绑定(C)。 例如node_redis(C绑定)基准:

 PING: 20000 ops 46189.38 ops/sec 1/4/1.082 SET: 20000 ops 41237.11 ops/sec 0/6/1.210 GET: 20000 ops 39682.54 ops/sec 1/7/1.257 INCR: 20000 ops 40080.16 ops/sec 0/8/1.242 LPUSH: 20000 ops 41152.26 ops/sec 0/3/1.212 LRANGE (10 elements): 20000 ops 36563.07 ops/sec 1/8/1.363 LRANGE (100 elements): 20000 ops 21834.06 ops/sec 0/9/2.287 

积极的发展/社区

Ryan Dahl在他的项目上非常努力地工作。 此外,node.js现在拥有来自例如Joyent的主动支持(发起人)。 社区正在迅速发展

性能是主要优势,node.js为每个连接分配一个小堆,而其他服务器端解决scheme为每个传入连接创build一个(2MB)线程,当然创build一个线程比分配堆内存慢得多。 其他优点之一是node.js的面向事件和非阻塞性质。

node.js是事件驱动的。 虽然大多数其他框架具有作为附加组件(例如通过事件机器)内置的这种function,但这只是node.js “方式”。 思想是一个事件驱动的架构可以导致更多的可扩展的应用程序(通常由C10K问题激发)。 其次,使用JavaScript编写降低了大多数已经习惯使用该语言的前端开发人员的入门门槛。 在我看来,这也是相当有趣的工作,但我不能说我已经部署它的任何高stream量的应用程序。 它也有炒作机器。 最近我迷上了电梯和斯卡拉,但这只是我自己的偏好。

作为应用程序开发人员,我们有责任应用逻辑来解决问题。 前端开发者在后端开发中遇到的所有问题都有类似的问题。 是的,他们有不同的expression方式,但是他们基本上是同样的问题。

节点通过以离散和合理的方式统一方法论来简单地expression这个事实。

通过以相同的方式写入后端,应用相同的逻辑path,它使开发人员对开发人员变得更加透明,简化了他们的工作