node.js 在实际项目中,到底有什么优势?

2013-10-24 08:17:35 +08:00
 kurtis
由于我一直很推崇node.js,

所以昨天有个软件公司老板问我:

用node的人力特别便宜吗?
用node可以把10个人月的活缩减到5个吗?
用node现成的模块模板多到可以拿来直接用吗?
用node可以给最终客户带来什么实际好处?省钱,省力,还是怎么样了?

我一时无法回答,的确那种包人月做传统系统的模式下,貌似node没有什么优势。

请教诸位,能否给我几个有底气的回答?
12400 次点击
所在节点    程序员
27 条回复
anjianshi
2013-10-24 08:21:01 +08:00
那么你推崇 node.js 的理由是什么呢?
czheo
2013-10-24 08:23:53 +08:00
没有 做传统软件时的技术选型更多考虑你老板说的那些 node还太年轻的技术 听你老板的 要折腾自己私下玩吧
vietor
2013-10-24 08:27:33 +08:00
如果你的系统网络吞吐量不大,基本没啥优势;倒是让别人觉得,只是在追求新潮。如果只是传统的OA,CRM之类的东东,.NET、JAVA、PHP还是非常适合的。
coolicer
2013-10-24 08:45:30 +08:00
老是黑JS
kidult
2013-10-24 08:47:13 +08:00
每天上亿请求的应用再来问这个问题,谢谢
pfitseng
2013-10-24 08:59:55 +08:00
我觉得是有C的性能,开发成本又低很多。但是请多准备内存。
MichaelYin
2013-10-24 09:19:37 +08:00
首先我要恭喜楼主,你的老板是一个靠谱的老板,我觉得面对一个新的技术引进到项目中的时候,这几个问题是首先需要问自己的,如果连这几个问题都不能回答清楚(抛开技术层面),这个技术其实真没有必要引进到项目中去。
技术人员虽然是做理性工作较多,但是感性起来不是一般人所能理解的。
tabris17
2013-10-24 09:21:43 +08:00
好的技术并非是合适的技术。Node.Js有适用环境,比如高并发访问。除此之外没有什么优势
Golevka
2013-10-24 09:36:51 +08:00
其实开发者推崇某项技术大多是出于自己用起来感觉比较爽, 而很少考虑盈利和其他社会因素 (嗯可能老板比较关注后者
pepsin
2013-10-24 10:05:38 +08:00
生产上用烂爆了的技术最好,PHP,Rails啥的。访问量高了再考虑换轮子。
subpo
2013-10-24 10:10:36 +08:00
和php对比,把10个人月做到5个,可期
subpo
2013-10-24 10:19:45 +08:00
@pfitseng Node吃cpu,一点不吃内存吧,没有内存泄漏的话。
juicy
2013-10-24 10:19:53 +08:00
对只熟悉javascript语言的人来说,用node比用php等有优势。。。。
Narcissu5
2013-10-24 10:54:47 +08:00
@pfitseng V8比传统JS解释器高效很多,但比C还是差得远
qiongqi
2013-10-24 11:19:42 +08:00
人力成本确实很重要,node自己玩可以,生产环境难
headwindx
2013-10-24 11:24:47 +08:00
@Golevka
说的对,技术本来就是来解决一定范围的问题,每个人和团队关注的问题领域不一样,所以有人说好,有人说不好。
pubby
2013-10-24 11:26:50 +08:00
我一直综合使用

主体: apache+php
高并发IO为主的:node.js
高并发吃CPU的:c/fastcgi,后来改用golang了


用node.js可以快速实现原型,但是依赖模块太多的话部署到多台机器不太方便,
一些功能稳定下来并长期使用的就改成golang部署了。
yakczh
2013-10-24 11:33:40 +08:00
golang 和nodejs高并发的cpu占用有人测试过吗?
darasion
2013-10-24 11:35:37 +08:00
感觉 node.js 不仅是架设网站用,网站功能只是一部分吧。
很多都可以做各种开发工具链使用。
emohacker
2013-10-24 12:01:45 +08:00
这些问题的确时老板该思考的,老板是在商言商,能问这些问题,说明老板是靠谱的老板。

这是从公司当期利益出发,该考虑的投入与产出比的一些问题。

从当期利益角度出发:
1、人力不便宜。
2、这是相对的,无法衡量(影响因素很多:团队的人、团队的技术积累、项目需求、Leader的项目管理水平)
3、看需求,社区相当活跃。
4、如果是甲方乙方的项目,我倒是有个亲生经历的感触,客户提出要多终端实现的需求,那我这边就第一次经历了RESTful实现的后端提供API,前后端就彻底分离了,那时候是PHP实现的,公司只有PHP的技术积累,后来自己学了node.js之后,发现express这种天生就能RESTful简直太给力了。如果那时候有这方面的积累还真可以把10人月缩短到5人月。

所以要看你们公司战略目标时什么,当下战术定位是什么。

想用node到生产环境的话,最好要从长远的利益角度去跟老板分析。

现在的node真的很给力,各种前端集中的解决方案都用node管理,比如阿里系的 阿拉蕾 spm 依赖npm 百度的fis依赖npm,即便你后端暂时用不着node也可以用node很好的集中管理前端的构建。

再加上及其活跃的社区就能看出这个趋势。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/86713

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX