Node.js 盛行的原因

标签: node js 原因 | 发表时间:2014-03-26 14:48 | 作者:
出处:http://www.iteye.com



在过去的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,而不是深思熟虑。

英文原文: nearform.com / 译文: ourjs.com

感谢 WnouM 投递这篇资讯

资讯来源: ourjs.com

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [node js 原因] 推荐:

node js 断点调试

- - Web前端 - ITeye博客
大部分基于 Node.js 的应用都是运行在浏览器中的,. 例如强大的调试工具 node-inspector. node-inspector 是一个完全基于 Node.js 的开源在线调试工具,提供了强大的调试功能和友好. 的用户界面,它的使用方法十分简便. 首先,使用 npm install -g node-inspector 命令安装 node-inspector,然后在终.

什么是Node?

- We_Get - 博客园新闻频道
译者按:前不久Oreilly出了一本小册子“What is Node?”,扼要的讲解了Node的身世和所适用的场景,作者文笔轻松流畅、内容充实,是非常难得的学习资料.   译文全文:http://jayli.github.com/whatisnode/index.html.   作者:Brett McLaughlin ,原文:What is Node?.

Node入门

- - CSDN博客编程语言推荐文章
作者:  Manuel Kiessling. 翻译:  goddyzhao &  GrayZhang &  MondayChen. 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识. 本书绝不是一本“Hello World”的教程. 你正在阅读的已经是本书的最终版.

浅析Hadoop Secondary NameNode,CheckPoint Node,Backup Node

- - CSDN博客云计算推荐文章
Hadoop SecondaryNameNode并不是Hadoop 第二个NameNode,它不提供NameNode服务,而仅仅是NameNode的一个工具. 这个工具帮助NameNode管理Metadata数据. NameNode的HDFS文件信息(即Metadata)记录在内存中,client的文件写操作直接修改内存中的Metadata,同时也会记录到硬盘的Edits文件,这是一个Log文件.

[译]什么是Node?

- blacktulip - Taobao UED Team
译者按:前不久Oreilly出了一本小册子“What is Node?”,扼要的讲解了Node的身世和所适用的场景,作者文笔轻松流畅、内容充实,是非常难得的学习资料. 译文全文:http://jayli.github.com/whatisnode/index.html. 作者:Brett McLaughlin ,原文:What is Node?.

用node作桌面开发

- InterMa - CNode社区
node的定位是,server-side javascript. 但程序员最爱做的事,就是把一个东西用在不该用的地方. 那么,可以把node用在桌面开发上吗. 把Javascript用在桌面开发上,早有先例,比如GTK+的gjs,还有Qt的QML(顺带一提,QML代表着桌面开发的另一个方向,a promising way),GNOME3中,也用javascript作为桌面插件的开发语言.

Vercel 部署 Node 服务

- - 掘金 前端
之前在写 面试常客:HTTP 缓存时,曾经就强缓存和协商缓存写过两个demo,但缓存要在服务端做,只能贴上代码,不能在网页上感受(虽然我贴了gif). 笔者的所有 demo 例子都放在 github page 上,其特点是不需要服务器即可部署静态资源,但它不具备部署服务端应用能力. 最近笔者在了解 CI/CD 方面的知识点,想起了 Vercel,就想着能否将服务端应用架在 vercel 上呢.

WebView JS 交互

- - ITeye博客
WebView加jquery做页面会怎么样呢. // 创建WebView对象. // 把programList添加到js的全局对象window中,. // 这样就可以使用window.programList来获取数据. * 定义js回调java函数. // 绑定键盘的向上,向下按钮事件触发相应的js事件.

無痛安裝 NodeJS 和 Node Framework Express

- Hming - 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
直接到官網下載 Stable 的版本吧,目前是 node-v0.4.10.tar.gz,也可以先看看 API Document. 安裝 Ububtu 相關套件. 下面會使用最原始的編譯方式,所以必須安裝 g++ 套件,否則下 ./configure 的時候,會吐出來沒有安裝過的套件. 兩種方法:1.用 apt-get install nodejs 2.