订阅软件研发RSS CSDN首页> 软件研发

程序员如何说服老板采用Node.js?

发表于2012-05-03 16:43| 次阅读| 来源CSDN| 0 条评论| 作者夏梦竹

摘要:近期以来Node.js在业界很火,有关它的的新闻不胜枚举,种种迹象表明业界更多的公司在关注和考虑采用Node.js。俗话说“巧妇难为无米之炊”,程序员该如何成功说服老板听取您的建议?针对这一话题,作者Felix发表了一篇博文,文中分享了一些建设性指南,CSDN研发频道现将此文进行编译,分享给开发者,...

导读:近期以来Node.js在业界很火,有关它的的新闻不胜枚举,种种迹象表明业界更多的公司在关注和考虑采用Node.js。俗话说“巧妇难为无米之炊”,程序员该如何成功说服老板听取您的建议?针对这一话题,作者Felix发表了一篇博文,文中分享了一些建设性指南,CSDN研发频道现将此文进行编译,分享给开发者,也欢迎大家发表自己Node.js实战心得。

糟糕的使用案例

  • Apps在CPU性能上的高使用率

尽管一直钟情于Node.js,但这里有几个使用案例,结果却并不令人如意。最明显的是Apps在CPU上的使用率以及I/O操作是极其高负荷的。因此,如果你打算写一个视频编码软件,人工智能或者类似CPU使用率比较高的软件,那么请不要使用Node.js,使用C或者C++效果会更好一些。

话虽如此,但Node.js允许你轻松的编写C++插件,因此,你可以将它作为一个超级算法的脚本引擎。

  • 简单的CRUD/HTML Apps

Node.js最终会成为一款不错的编写Web应用的工具。但是,你不能指望它能像PHP,Ruby,Python那样为你提供更多的好处。也许你的应用程序会因此而获得更多的可扩展性,但并不会因为用Node.js编写的而为你带来更多的访问量。

当我们看到Node.js一些不错的框架时,或许你会因此而欣喜不已。事实上,至今还没有比Rails,CakePHP或者Django这些框架更具强大的应用功能。如果你的应用程序只是为了基于一些数据库给HTML做渲染,那么使用Node.js不会给你带来任何利益好处。

  • NoSQL + Node.js + 各种时髦词

假如你的下一个应用程序的系统架构读起来像NoSQL的配料菜谱,请花点时间阅读下面的内容。

Redis,CouchDB,MongoDB,Riak,Casandra等这些看起来似乎很诱人,同样令人难以抗拒。如果你正在使用Node.js,那么就不应该附加上一些你完全不了解的技术。

当然,也有选择一个文档数据库合理使用的案例。但是如果你想开发一个商业项目,请坚持保守的数据库技术(比如Postgres 或者 MySQL)或许能满足你的需求。

出色的使用案例

  • JSON APIs

创建一个轻量级的REST / JSON API这确实是Node.js的一大亮点。如果需要包装其他的数据源(如数据库)或者Web服务器通过JSON接口让他们暴露出来,那么将非阻塞I/O模块与JavaScript结合在一起是个不错的选择。

  • 单一的页面应用

如果你打算写一个AJAX单一的页面应用(如Gmail),Node.js非常适合。在极短的响应时间内获得更多的请求数,在客户端和服务器之间共享数据,为现代Web应用程序在客户端上做大量的处理,Node.js都能满足你的需求。

  • Unix工具 Shelling out to unix tools

目前Node.js还很年幼,它正试图为自己重新发明各类软件。不过更好的办法是深入到现有的广阔的命令行工具世界里。Node可以把这些成千上万的子进程以stream的方式输出,这也使它成为企业的理想选择。

  • 数据流 Streaming data

传统的Web栈将http请求和响应作为元事件处理。然而,他们是流动的,许多非常棒的Node.js应用程序正是利用这一优点创建的。这里有一个非常棒的案例,当进行实时解析上传文件时,还可以在不同的数据层之间创建代理。

  • 软件实时应用

利用Node.js你可以轻松开发软件实时系统。比如Twitter、聊天工具,体彩或者即时通讯网络接口。

但是,值得注意的是,因为JavaScript是一个动态的/垃圾回收特性语言,你的响应次数往往取决于有多频繁以及多久接触垃圾回收机制(此时你的程序停止了)。因此,不要试图在Node中建立很复杂(hard)的实时系统,这需要一致的响应时间。Erlang在这类应用上是个不错的选择。

说服老板

当你确定,该使用案例适用于Node.js时,那么是时候去说服你的老板/管理者了。

  • 建立一个原型Building a prototype

最好的方法是,当你踏进房门前,先在大脑里为某个应用程序的特定部分常见一个简单的模型思路,这样通常很容易获得管理者的许可。当你获得批准后,你可以向老板征询一项基本制度以及运行机制,这将为你获得使用Node.js的权限提供更多的硬数据以及证据。

  • 寻找合作开发者

JavaScript是一款非常热门的计算机编程语言。几乎每台电脑都安装了一个甚至多个JavaScript编译器,这就意味着,大部分Web开发者在其职业生涯中如果不学习JavaScript,几乎是不可能的。这就意味着,你可以雇佣大量的开发者,你的公司也会人才济济。如果你正在一家蒸蒸日上的公司里工作,那么对Node.js技术发展非常有利。

  • 充满活力的社区

此刻,Node.js社区用户数正以一个疯狂的速度增长,该社区吸引了众多顶尖开发者。也就是说Node生态系统每天都在完善,并且通过不同渠道获得了各个企业的免费支持。

  • 性能

如果性能是你在应用程序上考虑到的最重要的一面,Node.js能够为你提供更多性能支持。随着知名企业(Mozilla,Google,Apple,Microsoft,Opera)在JavaScript实现方面的相互竞争,Node编译器(Google V8引擎)已成为一块奇葩,并且会越来越好。与Node无阻塞I/O模型相结合,你必须努力创造出一个呆滞(sluggish)应用。大多数Node应用可轻易的处理成千上万并发链接。

  • 公司支持

使用一个年轻的开源项目且缺乏承诺,这是非常危险的。但这或许不适合Node.js。目前,Node的主办方Joyent,聘请了Ryan Dahl以及其他的一些核心贡献者,这也为该项目的未来发展奠定了扎实的基础。除此之外,Yahoo!和惠普(formerly Palm)公司表示有足够的信心利用Node.js来开发下一代产品。

因此,你的老板可以放心让你使用Node.js。

说服客户

如果你是一个自由职业者或者在一家小公司做合同工作,试图说服客户使用Node.js也许会有另一番景象呈现。他们通常会根据你来进行判断,并且会继续支持你为他们创建的软件项目。

以上这些只是我的一些建议,在项目启动前,你需要认真核实下Node是否适合该项目。如果适合,还需确保将来是否有足够的资源以及时间来支持该应用。

附:Node.js开发团队正在发布一个新版本,未来每隔3-6个月会更新一个新版本。

背景:

Node.js——建立在Google V8 JavaScript引擎之上的网络服务器框架,它是事件驱动的,采用异步输入输出来最小化其成本并最大化其可扩展性。Node.js让开发者能够用客户端使用的语言JavaScript在服务器端编码。

本文为CSDN编译整理,未经允许不得转载。如需转载请联系market@csdn.net

英文出自:nodeguide

责任编辑:夏梦竹

程序员如何说服老板采用Node.js?