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

迫于招人困难,团队的一个项目决定放弃 nodejs,转投 Java 。

  •  
  •   zivyou · 39 天前 · 7987 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想听听老哥们对于这两种语言的看法。

    我自己的体会:
    1. nodejs 的核心问题在于「面向对象」不完善,设计模式、架构设计、团队合作略头疼
    2. java 太罗嗦了

    其实我想投 C++的,因为比较酷。。
    94 条回复    2020-06-06 13:38:49 +08:00
    heiheidewo
        1
    heiheidewo   39 天前   ❤️ 3
    用 go 不香么
    zivyou
        2
    zivyou   39 天前
    @heiheidewo 没这个选项,有个同学提了一嘴,就没然后了。。
    AllenHua
        3
    AllenHua   39 天前
    java: 被针对了
    janxin
        4
    janxin   39 天前
    有 Java 工程师为什么不用 Java 呢,Kotlin 不香吗
    1044523901
        5
    1044523901   39 天前
    nodejs 用起来很香,目前团队在用 nodejs,感觉很爽,实在招不到人,人员可以从前端团队培养过去。
    snoob
        6
    snoob   39 天前
    木有任何需求或者项目规模分析就技术选型吗?目前在用 eggjs 撸中小型的项目,挺舒服的。其实如果项目初期或者创业型的 nodejs 美滋滋啊。选型这东西,不都是分析下项目可能遇到的瓶颈在哪里,然后择优选择吗。
    axihe
        7
    axihe   39 天前
    上 NestJS 或者 Eggjs,可以解决老哥的第一条痛点,架构,模式,团队合作就不是问题了;
    目前我们团队内都是这样用的,几个月下来美滋滋,挺香的。
    zivyou
        8
    zivyou   39 天前
    @janxin 这就是个管理问题了。确实有同学之前主打 java,但不能立马调他去负责这个新项目啊
    zivyou
        9
    zivyou   39 天前
    @snoob 再怎么分析也挡不住找不到人啊。。
    zivyou
        10
    zivyou   39 天前
    @axihe 感谢老哥分享,确实没有了解过这两个。得花时间补一下
    janxin
        11
    janxin   39 天前
    @zivyou 新项目可以招人解决?
    onlyfor
        12
    onlyfor   39 天前   ❤️ 4
    踩过类似的坑(egg, go 之类), 不是建议你用, 只说下我们的最后方案: Laravel

    不啰嗦, 简洁明了, 目前没有性能要求跑的还行
    stevenhawking
        13
    stevenhawking   39 天前   ❤️ 12
    用 PHP 不香吗,毕竟用 Java 后明年给老板就没法说再换个语言了
    wellsc
        14
    wellsc   39 天前
    typescript 正好折中
    alw
        15
    alw   39 天前   ❤️ 1
    1.nodejs 如果不配合 ts,维护重构 起来要出人命。
    2.JAVA 我感觉嘛 ,是罗嗦些,但维护起来爽,超好招人,容易“堆人”。
    u823tg
        16
    u823tg   39 天前
    反正都是踩坑-_-
    vitoliu
        17
    vitoliu   39 天前
    小公司用啥都行,不用太讲究
    maddot
        18
    maddot   39 天前 via Android
    反正简历多了一条:熟练使用 NodeJS
    wangyzj
        19
    wangyzj   39 天前
    转 java 整体看没错
    主要是看团队人员情况和成本了
    952764934
        20
    952764934   39 天前
    用 Scala
    love
        21
    love   39 天前
    面向对象不行是啥理由,Java 就是太面向对象了,搞得一层套一层,其实完全没必要

    node + typescript 写起来比 java 舒服得多,只不过门槛的确比 java 高一点。
    jones2000
        22
    jones2000   39 天前
    完成设计文档里的需求, 按时上线验收, 收钱走人。用什么语言根本就不重要。只是项目开发的人力成本里面有区别,
    不通语言的开发人员工资不一样而已, 投入的开发人员个数不一样
    mazai
        23
    mazai   39 天前
    想稳定就用 Java,那些说某某香的人真的用过某某开发过大型的应用吗?本人持怀疑态度哦~~ Java 至少你的坑已经有前人采过了,开发起来难度比较低,如果仅仅是为了酷而酷的话,那你随便了。。
    poorcai
        24
    poorcai   39 天前 via iPhone
    c 井不啰嗦
    SwagXin
        25
    SwagXin   39 天前
    .net
    nicevar
        26
    nicevar   39 天前
    如果是中小型公司, 用 Java 就最稳定, 人好招, 坑不多, 我们公司就是主 Java+部分业务 nodejs
    Bazingal
        27
    Bazingal   39 天前 via Android   ❤️ 1
    @poorcai 一会又有不懂装懂的人要来说生态了
    BBCCBB
        28
    BBCCBB   39 天前
    用 Java 挺好的.

    我主业就是 java.

    不过我最近学了 typescript, 浏览器里玩还是要 js
    liuyunlong0908
        29
    liuyunlong0908   39 天前
    kotlin 真的很香
    dasvenxx
        30
    dasvenxx   39 天前
    没事,随便你想用啥,真完不成 大不了最后用 Java 重构😼
    hantsy
        31
    hantsy   39 天前
    Node+ Typescript 跟写 Java 有那么大区别吗?
    optional
        32
    optional   39 天前 via iPhone
    nodejs 后端后期工资上不去,转别的不少 go JAVA 。
    beyondex
        33
    beyondex   39 天前 via Android
    Java 没错,.NET Core 开发快,运行效率也不错
    xizismile
        34
    xizismile   39 天前 via Android
    日常语言撕逼贴,没啥卵用。。
    2379920898
        35
    2379920898   39 天前
    选啥选~用毛用。你们老大早定好了,就是通知你一下
    lihongming
        36
    lihongming   39 天前 via iPhone
    搞成微服务架构啊,各模块各玩各的,各种语言都能用,nodejs 做胶水语言还是挺好用的
    slyang5
        37
    slyang5   39 天前
    国内的 大公司都在大规模的使用 JAVA 你就知道了。团队协作真的 很能打,API 也很稳定
    zivyou
        38
    zivyou   39 天前
    @2379920898 😂还真是,当我们说决定用 java 的时候,领导表示很满意
    hpu423
        39
    hpu423   39 天前
    转 java 的小公司后面都死了
    zivyou
        40
    zivyou   39 天前
    @hpu423 这是为啥? 因为维护成本高吗?

    不过我们这个公司目前绝对死不了。。
    no13bus
        41
    no13bus   39 天前
    java 用吧。如果你只是写 curd,选啥都无所谓的。选大家都熟悉的
    patz
        42
    patz   39 天前
    这个要综合题主的实际情况, 例如如果题主的主要业务是做 WEB 开发,而且地区很难招人的话,我会选择 Node, 因为前后端一套 JS 搞定,招人也招 js 开发就行了,还没算 node 生态里的各种开源神器。 不过我对 JAVA 不太熟悉,所以难以对比两者,这里只提供个思路给大家参考哈。
    Jackeriss
        43
    Jackeriss   39 天前
    座右铭:不选大的怎么能赢?公司想做大,先得把项目架构做大。Java 的中间件生态是其他语言不能比的。前期用什么语言无所谓,后期还是要转 Java 。毕竟普通公司又没实力自己去研发中间件,Java 拥有行业最成熟的解决方案。不想做大的话当我没说。
    hpu423
        44
    hpu423   39 天前   ❤️ 1
    @zivyou java 就是靠堆人,另外团队如果没有一个 java 大牛,不出问题还好,出问题会很麻烦,小公司一般招不到 java 大牛
    Jackeriss
        45
    Jackeriss   39 天前
    @hpu423 #39 不,要么死了,要么变大公司了,只是死的永远比变大的多。
    PineappleBeers
        46
    PineappleBeers   39 天前
    同推荐 Eggjs + Typescript,第一条完美解决。
    zsl199512101234
        47
    zsl199512101234   39 天前
    .net core 也不错,现在 3.1 了
    wccc
        48
    wccc   39 天前
    rust 是不是更酷?
    594duck
        49
    594duck   39 天前
    天天就想着改变世界。公司都被玩死了,太太平平用用 JAVA 蛮好的。
    ccsulzf0627
        50
    ccsulzf0627   39 天前
    我用 angular,后台用 nodejs,我感觉我下一秒就找不到工作了
    namelosw
        51
    namelosw   39 天前   ❤️ 1
    招不到人就说招不到人,不要扣 nodejs 「面向对象」不完善的帽子…… 以这个标准说 Java 和 C++也「面向对象」不完善

    不会写就说不会写,不要扣“设计模式、架构设计、团队合作略头疼”的帽子……

    你要是说性能不行,生态不如 Java 也就罢了……
    fyxtc
        52
    fyxtc   39 天前
    什么时候比较酷也能作为技术选型了。。。看来还是没有被 CPP 毒打过
    nianyu
        53
    nianyu   39 天前
    感觉不知所云 没说到点子上
    crazycarry
        54
    crazycarry   39 天前
    啥好选的,java 要啥有啥,crud 搬砖搞得很高大上一样。还有那啥,门槛比 java,怕是就写个 hello world 就是会了。
    HangoX
        55
    HangoX   39 天前
    java 再怎么不收待见,最起码 java 的入门和使用门槛真的更低,业务庞大之后非常适合叠人。
    而且你不喜欢 java 还可以用其他 jvm 语言,也更方便
    starlion
        56
    starlion   39 天前
    c++,酷? 额,这个逻辑自己玩玩还可以。你是做基础软件比如数据库,存储之类的,当然可以考虑 c++。如果是其他的还是 golang 或者 java,他俩都香
    gadsavesme
        57
    gadsavesme   39 天前   ❤️ 1
    现在搞得好像技术选型用 java 就变成了 lowb 一样。。。不懂这种风气啥时候形成的,培训班输出了太多 java 搬砖工造成写 java 就是菜逼行为的假象吗。。。
    kilen3a
        58
    kilen3a   39 天前   ❤️ 1
    这简单啊,招 Java 的人进来搞 Kotlin
    Marstin
        59
    Marstin   39 天前
    中大型项目就还是 java 吧,已经见证了好多项目迫于其开发语言难以实现微服务,切换技术栈为 java
    gejun123456
        60
    gejun123456   39 天前 via iPhone
    kotlin 香得很
    MarkLeeyun
        61
    MarkLeeyun   39 天前
    @vitoliu 是纯洁的微笑老兄吗?好熟悉。
    miniwade514
        62
    miniwade514   39 天前
    好奇,你们公司规模如何,做的是什么业务?国内把 node 作为后端主要语言的公司,以前听说过一个“孢子”,后来就没怎么听说了。
    公司如果想做大,将来会需要很资深的后端研发和架构师,想在 node 圈子里招到这种角色太难了。
    tt67wq
        63
    tt67wq   39 天前
    招人不看语言,会数据库就行
    zivyou
        64
    zivyou   39 天前
    @miniwade514 公司规模挺大的,就是送外卖的那家。
    james122333
        65
    james122333   39 天前
    js 的性能其实都很好
    只有语法能吐嘲了
    面对对象也有面对对象的坑
    有什么理由需要管理几十几百种别人乱写的物件
    fangdown
        66
    fangdown   39 天前
    nodejs 一般适合中间件, 纯后台开发还是比不上 java php 的

    [深圳 /长沙] 腾讯云前端社招~~急招!!!联系我内推,微信同号
    toma77
        67
    toma77   39 天前
    react+nodejs+typescript SSR 一把梭
    wshcdr
        68
    wshcdr   39 天前
    转 C++ ? 微笑
    Rwing
        69
    Rwing   39 天前
    考虑下 c# 吧,哈哈,不过确实 java 人最多
    wangkun025
        70
    wangkun025   39 天前
    你们也忒随意了。
    Reflection
        71
    Reflection   39 天前
    @onlyfor 老师人
    yahon
        72
    yahon   39 天前
    Spring Boot 要啥有啥 不香吗?
    wizzer
        73
    wizzer   39 天前   ❤️ 2
    stillyu
        74
    stillyu   39 天前
    其他地方看到的都是 nodejs 后端不行了,但这里怎么还是感觉很香
    EKkoGG
        75
    EKkoGG   39 天前
    .net core 爽!
    sonyxperia
        76
    sonyxperia   39 天前
    这就是对 Java 的偏见,仅仅是因为 Java 不够酷,就被完全否定了
    airplayxcom
        77
    airplayxcom   39 天前
    php 天下第一 ! [手动滑稽]
    xiershen
        78
    xiershen   39 天前   ❤️ 1
    nodejs 转 Java 可以用 Vert.x,都是基于事件循环的
    yazoox
        79
    yazoox   39 天前
    不要“为了面向对象”而面向对象
    这是本末倒置了吧……
    DingSoung
        80
    DingSoung   39 天前 via Android
    nodejs 也不难啊 现学现用 除非是你要一下子搞一个很大的项目
    gitjavascript
        81
    gitjavascript   39 天前
    kotlin 不香么
    Zink99
        82
    Zink99   39 天前   ❤️ 1
    目前使用技术栈:node + ts + graphql
    个人感觉还挺香的
    zivyou
        83
    zivyou   39 天前
    @wangkun025 没有,只是我描述的随意而已。nodejs 我们也已经用来开发过两个大型项目了,也确实从施工过程中体会到了一些不便。而且今天的讨论也不是完全转变团队的技术方向,而是决定下个大型项目的选型。
    blurh11E27
        84
    blurh11E27   39 天前
    php 啊
    jzphx
        85
    jzphx   39 天前
    这不是得看你们架构师熟悉什么吗?选语言这么纠结难道是没有架构师全部扁平化管理的吗?
    betulac
        86
    betulac   39 天前
    nodejs 本来就是给前端团队用的啊 ,没有后端鸟的时候前端只能自力更生 , 而且目前的蛋和窝挺不错的了 一般需求基本都能满足,js 和 java 差的不是一点半点
    betulac
        87
    betulac   39 天前
    @betulac js 和 java 的差别不是一点半点,说错了
    zh5e
        88
    zh5e   39 天前
    工具类的应用脚本语言,业务复杂的用编译型。java 就算了吧,还要套个 jvm 。我们选的 go,生态也不错,社区啥都有
    zh5e
        89
    zh5e   39 天前
    其实 c++也不错,用好标准库,不存在诟病的内存问题,开发语言需要具备的语言特性都有
    zh5e
        90
    zh5e   39 天前
    @952764934 都是现代社会了,还说文言文?
    james122333
        91
    james122333   38 天前
    @stillyu

    js 阿 又不一定是 node...
    最近不是有一直在推 deno
    gzwgq222
        92
    gzwgq222   38 天前
    有个 offer,主前端兼部分后台 node 开发,也不知道要不要去。
    shuangya
        93
    shuangya   38 天前   ❤️ 1
    只能说具体情况具体分析了,没有最好的,只有最合适的。
    举个例子,语雀就是一个庞大的 nodejs 的应用,所以 nodejs 实际上也可以写大型应用,并且相应的架构、团队合作也有比较成熟的方案(例如蚂蚁金服开源的 eggjs )
    语雀面临快速的迭代,并且目前为止,因为良好的基础设施,没有明显的性能瓶颈,所以 nodejs 是语雀目前为止最合适的选择。
    后续会不会换成 Java ?这个还真不好说。可能有一天 node 成了语雀的性能瓶颈后会换吧。
    相应的,你可以评估一下,你们团队的现状是什么样的,转投其他语言成本有多大,能带来什么(不止是技术上的,还要考虑到,业务能不能不耽误,总不能说因为你们要重构就一两个月不更新新功能吧)
    另外不推荐不熟悉的语言,包括 Go 、PHP 、.NET 。也不推荐动不动就搞什么微服务啥的。不是他们不好,是因为你们团队没人足够熟悉,贸然换上它们会踩很多坑,而且很可能会出现各种“疑难杂症”,带来的收益也不一定会有想象中大。
    usoluyun
        94
    usoluyun   38 天前   ❤️ 1
    团队扩充最怕就是拘泥于某个语言和技术栈,不同规模的团队,适合的技术栈也会不同。你现在就是很好的例子。程序代码好不好最终取决于写的怎么样,而不是语言本身。java 你要优雅的开发方法也有很多种,js 写的一塌糊涂的一样大有人在。java,python 能打,主要靠的是生态。生态干不过,语法优雅也没用。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4397 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 01:46 · PVG 09:46 · LAX 18:46 · JFK 21:46
    ♥ Do have faith in what you're doing.