其实不会有人真的会用 Nodejs 去写后端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mark24
V2EX    分享发现

其实不会有人真的会用 Nodejs 去写后端

  •  
  •   Mark24 2022-08-23 22:32:36 +08:00 6066 次点击
    这是一个创建于 1195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近的观察:"其实不会有人真的会用 Nodejs 去写后端"

    后端拥有很多选择成熟的 Java 、时髦的 Golang 、到处都是的 Python 、从 Helloworld 到 IPO 的 Ruby……成熟方案和 lib 随手拿来。

    作为后端同学,他们根本不会选择 Node.js 一个语法到处飞,标准库完成度很低的东西。

    只有前端会用,而且一般做 BFF 。而 BFF 用啥这件事取决于谁做,前端做会考虑 Nodejs 。如果是后端做,依然不会用 Nodejs 和前面理由一致。所以 Nodejs 只是一个前端偏好的东西。于是产生了一个受限循环,最大的用处是跑 webpack 打包工具。现在可能 Rust 重造比 Nodejs 的要好很多。

    44 条回复    2023-07-05 13:52:41 +08:00
    Mark24
        1
    Mark24  
    OP
       2022-08-23 22:34:23 +08:00
    有多少明星应用,使用 Nodejs 呢?我也很好奇。

    Nodejs 看似轮子多,大多数是其他语言框架的复刻。生态上还是有差距。

    不引战,欢迎交流
    crysislinux
        2
    crysislinux  
       2022-08-23 22:37:22 +08:00 via Android   2
    什么叫真的用 nodejs 写后端。什么叫真的程序员。什么叫真的 xxx 。这不是纯引战是什么。。
    Chaidu
        3
    Chaidu  
       2022-08-23 22:40:10 +08:00
    我一个写了 10 年 PHP 的后端程序员现在都改用 Node.js 写后端了
    estk
        4
    estk  
       2022-08-23 22:42:51 +08:00 via Android
    对我来说用 nodejs 写后端相当于省去新语言学习成本,很多代码还前后通用
    vance123
        5
    vance123  
       2022-08-23 22:54:03 +08:00 via Android   10
    农民开始夸耀他的金锄头
    Mr54
        6
    Mr54  
       2022-08-23 23:01:10 +08:00 via Android
    不然呢,前端能用前端的代码写个后端又怎么招惹谁了吗,难道写个后端就非得用 Java Python rust ?
    106npo
        7
    106npo  
       2022-08-23 23:07:27 +08:00 via Android
    c 系及 java Android 开发,我就选了 Node.js 开发后端,再之前没有 js 开发经历
    fsdrw08
        8
    fsdrw08  
       2022-08-23 23:10:39 +08:00 via Android
    因为 node module ,我甚至不想用 nodejs 写前端
    wangkun025
        9
    wangkun025  
       2022-08-23 23:12:57 +08:00
    会。
    jorneyr
        10
    jorneyr  
       2022-08-23 23:37:26 +08:00
    网传不是说淘宝页面的数据是使用 Nodejs 聚合的吗?
    Mark24
        11
    Mark24  
    OP
       2022-08-23 23:40:30 +08:00 via Android
    @fsdrw08 确实太大了。大得离谱
    musi
        12
    musi  
       2022-08-24 07:16:26 +08:00
    咋,后端用个语言还能用出优越感?
    Mark24
        13
    Mark24  
    OP
       2022-08-24 07:49:10 +08:00 via Android
    @musi 理解出优越感只能说现存的东西比较方便是习惯性选择
    christin
        14
    christin  
       2022-08-24 08:15:44 +08:00 via iPhone
    so ?
    前端用 js 写后端怎么了?
    你又不给人发钱你管人家用啥呢
    musi
        15
    musi  
       2022-08-24 09:06:02 +08:00
    @Mark24 #13 你要不在 v 站搜一下,用 GoLang 写业务,Python 写后端,这都月经贴了
    虽然用 Nodejs 写后端是比较少,但不代表没有
    free9fw
        16
    free9fw  
       2022-08-24 09:08:31 +08:00
    主要是 node 性能太差了
    dreasky
        17
    dreasky  
       2022-08-24 09:17:50 +08:00
    我就用 node 写公司内部系统的后端,不需要性能,需求随意改简直不要太爽
    wanguorui123
        18
    wanguorui123  
       2022-08-24 09:30:07 +08:00
    我们公司的大型商业系统后端就是 nodejs 写的
    lzgshsj
        19
    lzgshsj  
       2022-08-24 09:43:49 +08:00   2
    要快有 fastify ,要简单有 express ,koa ,要工程化有 nestjs ,不想看 node_modules 黑洞有 pnpm ,性能问题除了大公司,中小企业的业务有多少会达到 nodejs 瓶颈的,这时候为什么不能用 nodejs ?
    有一点那是没错,会其他后端 java ,go 之类的那是本来就没必要用 nodejs 。一般都是前端或者其他语言的,要写后端基本上就会考虑 nodejs 更多。
    你说如果让干全栈,ts 一把梭有什么问题?
    marcosteam
        20
    marcosteam  
       2022-08-24 09:54:38 +08:00
    语言优越党又来了
    xioxu
        21
    xioxu  
       2022-08-24 10:01:20 +08:00
    @lzgshsj 哈哈 我属于会 java golang 这些,但一些我单干的项目还是会选择使用 nodejs , 开发上线速度太快了,真的,论起写 web API ,没有哪个语言比 js 更方便,包括但不限于 python,java,go.
    debuggerx
        22
    deuggerx  
       2022-08-24 10:01:56 +08:00
    眼界太窄
    hronro
        23
    hronro  
       2022-08-24 10:26:12 +08:00   1
    这不就是 Google 一下的事?

    Mark24
        24
    Mark24  
    OP
       2022-08-24 10:27:20 +08:00
    @wanguorui123 轮子都自己造么。商业数值计算方面使用 npm 的第三方 lib ?
    Mark24
        25
    Mark24  
    OP
       2022-08-24 10:35:28 +08:00
    @marcosteam 有没有一种可能是想了解 Nodejs 国内真实的使用情况? 有什么优越不优越的。

    选择 Nodejs 而不用现成的,是基于什么原因呢?更像是这类的。

    如果是,我是前端,我只会 JS ,这种我觉得比较没意义。
    ChrisV5
        26
    ChrisV5  
       2022-08-24 10:58:34 +08:00
    我司日 api 请求在 2 亿+,后端是 nodejs
    ChristianChen
        27
    ChristianChen  
       2022-08-24 11:01:27 +08:00
    看了下 datadog 公布的数据,单看 AWS Lambda ,node 占比很高,而且 60%的大型企业部署会使用 3 种以上语言。
    这又不是的单项选择
    wanguorui123
        28
    wanguorui123  
       2022-08-24 11:08:35 +08:00
    @Mark24 框架肯定是自己造的啊,nodejs 开源的库一点都不好用啊,计算库用 Mathjs 就够了,nodejs 的性能非常不错,只要不要出现大数据量的死循环之内的基本上不会出现大问题,配合 PM2 基本上可以规避宕机问题
    czzhengkw
        29
    czzhengkw  
       2022-08-24 11:11:41 +08:00
    又一个优越党,自己没能力用好一个工具,就觉得这个工具是个垃圾

    一顿无依据批判之后,又说我不是来引战的……

    这标题,这内容,真的是来交流的吗?
    BeautifulSoap
        30
    BeautifulSoap  
       2022-08-24 11:15:34 +08:00
    然后 LZ 用了下 AWS ,然后发现 AWS 基本什么服务 node.js 都是第一梯队提供支持的。而且 node.js 和 Lambda 的相性还挺不错
    mxT52CRuqR6o5
        31
    mxT52CRuqR6o5  
       2022-08-24 11:18:09 +08:00
    CRUD 一般都是 io 密集场景吧,比起语言本身的性能瓶颈会先撞上数据库 io 的性能瓶颈,语言跑得快慢其实影响不大,python 、php 都比 node 慢不一样有人用
    cheneydog
        32
    cheneydog  
       2022-08-24 11:18:35 +08:00
    我很看好后台用 js , 目前主要是 nodejs ,也不一定非是 nodejs 。
    ngloom
        33
    ngloom  
       2022-08-24 11:26:52 +08:00
    公司里的事情 JS 一个语言前后端都搞定了。。
    Mark24
        34
    Mark24  
    OP
       2022-08-24 11:26:57 +08:00
    @czzhengkw 有没有可能表达的是 nodejs 不是第一选择。也可以不必是前端的第一选择呢。
    Mark24
        35
    Mark24  
    OP
       2022-08-24 11:27:47 +08:00
    @wanguorui123 同感。node 自己不错。就是包质量层次不齐。得自己做一部分工作。
    7gugu
        36
    7gugu  
       2022-08-24 11:38:56 +08:00 via iPhone
    nodejs 可以无缝切换 js ,怎么就不能是前端的第一选择?光是语言无缝切换这一点,就已经节约大量资源成本了。而且大多数让前端来负责的后端服务,也用不到多高的性能,快速出货才是大家的第一目标。
    fang2hou
        37
    fang2hou  
       2022-08-24 11:52:04 +08:00
    和 op 说的很类似, 我们公司虽然每个人都会用 ts, express (公司强制培训), 但是后端现在新起项目 90% 是 spring + (java, kotlin) 或者 go, node 项目基本用在公司内部服务上.
    对于一个项目来说, 编程语言的成本这东西个人感觉其实是很低的, 没有必要掐着一个 js 用, 也没必要特别追求新潮, 还是要从需求和维护性出发.
    wanguorui123
        38
    wanguorui123  
       2022-08-24 14:51:30 +08:00
    @Mark24 Node 最大的问题就是不好招人,而且工资要求比较 Java 高太多了和 Go 有的一拼
    czzhengkw
        39
    czzhengkw  
       2022-08-24 21:09:43 +08:00
    @Mark24 呵,那你这个表达能力真的是优秀呢……
    Wanex
        40
    Wanex  
       2022-08-24 23:50:35 +08:00 via iPhone
    @free9fw node 性能差? js 的性能在动态语言里是顶尖的
    Wanex
        41
    Wanex  
       2022-08-24 23:56:09 +08:00 via iPhone
    我只能说 go 都能写后端,node 为什么不能?何况 node 体验并不差,至少比 go 之流好多了。还有你这标题,其实不会有人真的会用 nodejs 去写后端,妥妥的陈述句,说的不容置疑一样。
    Wanex
        42
    Wanex  
       2022-08-24 23:58:46 +08:00 via iPhone
    作为天天写 node 和 go 的人,我只能说就写后端的体验上,go 不如 node 一根
    free9fw
        43
    free9fw  
       2022-08-27 20:48:35 +08:00
    @Mexion #40 对对对。你说的都对
    leisifung
        44
    leisifung  
       2023-07-05 13:52:41 +08:00
    @lzgshsj 讲得好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3098 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 84ms UTC 12:21 PVG 20:21 LAX 04:21 JFK 07:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86