Node.js 盛行的原因

在过去的18个月,Node.js的使用率呈指数级的增长,很多大型互联网企业也纷纷转向Node.js:

Node.js究竟好在哪里?让我们先看看商业效益吧:

快速创新及交付

在日益加剧的互联网公司的竞争中,项目的交付速度和产品的二次利用能力是这个行业市场领导者的物质。在这样的竞争情况下,关注终端用户的需求并将用户反馈的需求集中处理好且提供给他们使用,同时进行定期的维护和更新是至关重要的。

开发人员的福音

近几年来,雇用一个顶尖人才是极其困难的;优秀的开发人员都喜欢学习一些新鲜事物,用新技术。让开发人员在公司快乐工作的问题决不可忽视,快乐并充满激情的开发人员能开发更好的软件,将更多的激情投入到工作的人是快乐的。

Bill Scott曾经给我们讲过一个能在fackbook和PayPal之间选择一个公司任职的新员工的故事。面对相同的offer和薪水,开发人员作出了他的选择。且说了如下的话:“能去PayPal用Node.js做开发,干嘛还去fackbook做PHP开发呢!

更容易引用和留住人才

没错,JAVA可以用来开发任何东西。但优秀的开发人员喜欢用新鲜有趣的技术,他们喜欢用能快速、简单实现需求的技术来开发,这也是事实!

高性能

PayPal报道称:Node.js每秒能承受2倍的访问量,且能减少35%或200毫秒的响应时间。

2013年,沃尔玛实验室运行了一个用Node.js写的缓冲器。在一个“黑色星期五”(一年中最忙的时期)中他们用Node.js将所有的移动流量放入到缓冲器中。

他们的团队在沃尔玛实验室中用“#nodebf tag展现Node.js应用的性能”这一twitter话题实时报道了这一过程。在这个“黑色星期五”,沃尔玛服务的CPU使用率没有超过1%,而且开发团队在200,000,000用户在线的情况下部署了Node.js应用。


同样的,Groupon用Node.js重新部署他们系统后,页面的加载时间下降了50%这么多。

Linkedin将他们的移动流量从Rails转移到Node.js的老故事也能说明高性能这一问题。转移之后,服务数由原来的30个降到3个(下降了90%),且转移后系统的速度比原来快20倍。(参见: Web服务性能测试:Node完胜Java 

易于修改和维护

由于一些约定随着Node不断成熟,用Node.js来开发一些新的服务将变得简单。用Node的方式来写程序意味着这些程序是一些由管道连接成的小模块构成的。加班时间写的传统独立应用程序变得很僵便,难以适合和添加新的需求。最终传统应用程序被一些它们没有完成的需求给压得喘不过气。

用Node.js, 程序将被分解成许多小模块而不是一个大程序。在更改需求和新增需求时,不用更改代码结构就能完成。

开发效率高

Node.js程序是由JavaScript语言写的。这意味着,前端开发者与后端开发者之间的不和谐问题被解决了,且在开发进程中这有着显著的效果。用Node.js,能够将前端开发与后台开发小组合并成一个团队,这对于很多方面都有很大的好处。通过减少各开发部门之前的依赖,Node.js为全栈开发者提供了更多的机会。Node.js同样拥有一个出色的软件包管理系统——NPM,这是JavaScript的第一个软件包管理系统,能很好的处理依赖管理。NPM能有效的避免经验性的依赖。通过Node.js包管理器,NODE同样拥有一个充满活力的用户系统和大量可用的模块(超过60,000个,且在快速增长)。

PayPal测算过,使用Node.js,开发人员的效率能提高2倍。与JAVA相比,一半的开发人员就能交付一个应用,且花的时间还更少。

Node.js 的前途大好

Eran Hammer在NodeDay上宣布,到2014年底沃尔玛计划将Node.js应用于旗下所有的电子商务中。

PayPal将Node.js技术延伸至其所有的Web应用,且2年内Node.js将在所有应用中铺开。

尽管谷歌没有公然地宣布他们使用Node.js,但有证据表明他们在使用Node.js,Linkedin上一个简单的搜索表明,200名谷歌的人在其个人简历上标注着在使用Node.js。

VentureBeat上的一篇文章:“Google很显然在做Node.js项目——可能即使在不久的将来发布了应用,他们也不打算在公众面前说他们在用Node.js”。

雅虎在Node.js上还有很长的路要走,目前有200个开发人员在全职的开发800个公共模块和500个私有模块。

诸如Netflix和其它一些公司加入到Node.js中表明,目前还会有很多人加入到这个领域中。

Node.js的应用领域

  • 物联网
  • 电子商务
  • 支付处理
  • 社会媒体
  • 实时服务
  • 新闻传媒
  • 企业级Web应用

如果使用Node.js,我们公司将会变成这样:

  • 用一半的开发者来开发应用
  • 给用户服务时,降低必要的服务进程
  • 降低50%的页面加载时间
  • 在知名公司(如facebook)前招到顶尖开发人才
  • 让用户更开心
  • 让开发人员更开心
  • 能长久留住职员

答案是很简单的,问题在于企业能否以一种严肃的方式狂热于Node.js,而不是深思熟虑。

Tagged: ,

Comments are closed.