• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zivyou
V2EX  ›  程序员

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

  •  
  •   zivyou · Jun 5, 2020 · 12318 views
    This topic created in 2349 days ago, the information mentioned may be changed or developed.
    想听听老哥们对于这两种语言的看法。

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

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

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

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

    我主业就是 java.

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

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

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

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

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

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