V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kurtis
V2EX  ›  程序员

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

  •  
  •   kurtis · 2013-10-24 08:17:35 +08:00 · 12573 次点击
    这是一个创建于 4055 天前的主题,其中的信息可能已经有所发展或是发生改变。
    由于我一直很推崇node.js,

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

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

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

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

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


    用node.js可以快速实现原型,但是依赖模块太多的话部署到多台机器不太方便,
    一些功能稳定下来并长期使用的就改成golang部署了。
    yakczh
        18
    yakczh  
       2013-10-24 11:33:40 +08:00
    golang 和nodejs高并发的cpu占用有人测试过吗?
    darasion
        19
    darasion  
       2013-10-24 11:35:37 +08:00
    感觉 node.js 不仅是架设网站用,网站功能只是一部分吧。
    很多都可以做各种开发工具链使用。
    emohacker
        20
    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很好的集中管理前端的构建。

    再加上及其活跃的社区就能看出这个趋势。
    love
        21
    love  
       2013-10-24 12:03:14 +08:00
    javascript写起来真没python舒服,这是语言方面的问题,如果不是性能或语言统一方面的需求还是算了吧
    Ricepig
        22
    Ricepig  
       2013-10-24 13:33:49 +08:00 via iPhone
    最大的好处是看起来很高端,瞬间就和国际接轨了。
    davidli
        23
    davidli  
       2013-10-24 14:48:21 +08:00
    感觉express.js的route很舒服
    Tinple
        24
    Tinple  
       2013-10-26 11:01:39 +08:00
    不太能答上来,或许可以去看看Stackoverflow上相关的回答http://stackoverflow.com/questions/1884724/what-is-node-js
    rekey
        25
    rekey  
       2013-11-05 11:53:12 +08:00
    那么你推崇 node.js 的理由是什么呢?+1
    kurtis
        26
    kurtis  
    OP
       2014-12-14 23:54:26 +08:00
    时隔一年,我来告诉你们我们的实际感受吧!

    用node的人力特别便宜吗? 精通的不便宜,但是通过培训可以上手的很多。

    用node可以把10个人月的活缩减到5个吗?在成熟框架下,对应某些传统语言相当有希望。

    用node现成的模块模板多到可以拿来直接用吗?基本可以。

    用node可以给最终客户带来什么实际好处?省钱,省力,还是怎么样了?能够快速实现原型,部署相对简易,尤其适用于互联网应用。

    向有眼光的老板,强烈推荐node.js
    iugo
        27
    iugo  
       2014-12-17 17:18:19 +08:00
    @kurtis 求培训.

    对前端转全端很有好处吧.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1017 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:54 · PVG 03:54 · LAX 11:54 · JFK 14:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.