inSpring
V2EX  ›  Node.js

做个调研,兄弟们,你们公司后端框架目前用的是哪个? Express、Koa、NestJS?

  •  1
     
  •   inSpring · Apr 8, 2024 · 28097 views
    This topic created in 945 days ago, the information mentioned may be changed or developed.
    131 replies  •  2024-09-08 10:26:21 +08:00
    1  2  
    ❮ ❯
    YellowDog7
    YellowDog7
    Apr 8, 2024❤️6
    1
    nestjs
    EJW
    EJW
    Apr 8, 2024❤️1
    2
    Express
    zTonyski
    zTonyski
    Apr 8, 2024❤️2
    3
    honojs astro
    o562dsRcFqYl375i
    o562dsRcFqYl375i
    Apr 8, 2024
    4
    Express
    longbuluo
    longbuluo
    Apr 8, 2024
    5
    nest
    yKXSkKoR8I1RcxaS
    yKXSkKoR8I1RcxaS
    Apr 8, 2024❤️3
    6
    后端用 NodeJS ?咋想的?
    colorcat
    colorcat
    Apr 8, 2024❤️6
    7
    @Seria nodejs 咋了,大量公司都在用 nodejs ,生态活跃,组件众多。
    estk
    estk
    Apr 8, 2024 via iPhone
    8
    Koa 不是 Express 的升级版吗?同一个作者
    Oats
    Oats
    Apr 8, 2024❤️1
    9
    eggjs
    isbase
    isbase
    Apr 8, 2024❤️1
    10
    业务系统一般是 springboot
    liumao
    liumao
    Apr 8, 2024
    11
    spring boot 现在已经不流行了吗
    pigf
    pigf
    Apr 8, 2024
    12
    问就是 springboot
    yul24
    yul24
    Apr 8, 2024
    13
    @colorcat 我看招人 nodejs 没几个岗位的
    NessajCN
    NessajCN
    Apr 8, 2024
    14
    nestjs 一股 java 味儿,用这个还不如上 java spring 咧
    jixiaopeng
    jixiaopeng
    Apr 8, 2024
    15
    都用,现在用 nextjs
    mightybruce
    mightybruce
    Apr 8, 2024
    16
    node.js 不适合做复杂的后端逻辑, 做个各个接口聚合层还是比较多的,在大厂的定位就是前端和 API 聚合。
    如果是初创公司 用 Node.js 一把梭 前后端一起写的也很多。

    全栈还是看看 nestjs 、nustjs 和 nextjs
    epiloguess
    epiloguess
    Apr 8, 2024 via Android❤️3
    17
    express 挺好的,就是万年不更新,也不是自带 battery ,nest 其实用的人不多,只有 express 的 1/10 ,选技术也要考虑一下以后招人难不难
    https://npmstats.com/tags/node.js%20framework
    midsolo
    midsolo
    Apr 8, 2024
    18
    Java 已死?你好歹也提一嘴啊!

    后端语言:Java
    后端框架:Spring 全家桶
    jarontai
    jarontai
    Apr 8, 2024 via iPhone
    19
    koa + ts + 自研脚手架,nestjs 应该挺好,但感觉还是太重了,最终选择对 koa 进行简单封装定制
    qiaobeier
    qiaobeier
    Apr 8, 2024❤️3
    20
    wordpress
    Al0rid4l
    Al0rid4l
    Apr 8, 2024
    21
    轻量的就 fastify, hono, elysia(Bun)三选一, 重的就 Nestjs, Nextjs, Nuxtjs
    mogita
    mogita
    Apr 8, 2024 via iPhone
    22
    Nest.js
    leehome
    leehome
    Apr 8, 2024
    23
    nest.js
    june4
    june4
    Apr 8, 2024
    24
    koa + ts
    简单,够用,无负担
    gml
    gml
    Apr 8, 2024❤️1
    25
    laravel
    lxzxl
    lxzxl
    Apr 8, 2024❤️14
    26
    @isbase @pigf @dlmy 人家发在 Node.js 节点下,你们凑什么热闹?
    maymay5
    maymay5
    Apr 8, 2024
    27
    dotnet mvc
    lujiaxing
    lujiaxing
    Apr 8, 2024
    28
    asp.net core
    yagamil
    yagamil
    Apr 8, 2024❤️2
    29
    express.
    国外公司。
    说实话,国内以 java 为傲,实际到了国外,你会发现,用 node.js 的要比 java 多几倍。
    meteor957
    meteor957
    Apr 8, 2024
    30
    koa
    zuosiruan
    zuosiruan
    Apr 8, 2024
    31
    真有这么多的 node 啊,我工作到现在就没见过两个 node 的
    RRRoger
    RRRoger
    Apr 8, 2024
    32
    express + typeorm
    slowgen
    slowgen
    PRO
    Apr 8, 2024❤️7
    33
    用了好多年的 Nest.js 了,大概从 6.x 用到现在的 10.x ,也没什么大变更。
    选 Nest.js 看中的是 TypeScript 优先,然后集成了 class-validator 可以开箱即用。
    其它自己集成的什么 http client 、数据库、缓存、消息队列、不喜欢就自己糊一个。
    至于它的依赖注入,除了控制器和模块这一层,service 层你都可以不用依赖注入,完全走静态函数,反正 js 这种脚本语言可以在运行时修改 class 的 method ,mock 起来非常简单。
    最大规模试过在 30 个 4c8g 的 contabo vps 上用 k3s 部署爬虫,套个 rancher 面板,部署一年多,稳如狗,用 DaemonSet 跑网络 IO 相关的操作,全流式操作,内存占用两百多兆,每个节点每月 32T 流量吃到饱。分析计算用 Deployment ,完全的 IO 和计算分离。
    至于 web api ,现在用 Nest.js + Supabase ,日常内存占用也就 90MB 左右,需要事务那就换 Prisma ,内存占用高一些,150MB 左右。
    结合 pkg 可以把项目打包成单个二进制文件塞到容器里,一般就 70MB 左右,冷启动贼快,丢到 1c1g 的容器里都算是打很富裕的仗了。

    至于现在,我在把 Nest.js 的程序结合 AI 迁移到.Net 上…… 现在迁移了一个应用,确实很香。
    Arguments
    Arguments
    Apr 8, 2024 via iPhone
    34
    Adonis 存在感这么弱吗😅
    BBCCBB
    BBCCBB
    Apr 8, 2024
    35
    spring
    slowgen
    slowgen
    PRO
    Apr 8, 2024
    36
    @Arguments AdonisJS 前面的大版本不支持 TypeScript ,而且是抄的 Laravel 的设计。然而 Laravel 抄的是 Ruby on Rails ,结果没抄到精髓,AdonisJS 这波操作属于把别人消化到一半的东西吃了过来……只能说 AdonisJS 适合 Laravel 用户去使用了。
    BeiChuanAlex
    BeiChuanAlex
    Apr 8, 2024
    37
    几万用户就了不起了,用 node 合适。
    Arguments
    Arguments
    Apr 8, 2024 via iPhone
    38
    @shuimugan 哇,居然有知道 adonis 的,感觉很小众。我是从 v5 版本开始了解的,看中大而全,什么都有,环境也都配好了,简单配置就能出活。适合快速开发。实在受不了 express 和 koa 到处找库,质量还良莠不齐🥹
    Selenium39
    Selenium39
    Apr 8, 2024 via iPhone
    39
    之前公司 koa 现在公司 nestjs
    awalkingman
    awalkingman
    Apr 8, 2024
    40
    @gml 最好的语言是吧
    momo24672
    momo24672
    Apr 8, 2024
    41
    用 Koa 吧
    @yagamil 人在国外,用 java 的还是比 nodejs 多几倍
    junsongyoung
    junsongyoung
    Apr 8, 2024
    42
    nestjs \ midwayJS \ nuxtjs
    IvanLi127
    IvanLi127
    Apr 8, 2024
    43
    @Seria 除了国内开发者数量比不过别的平台,还有啥理由是不能选 node.js 的?
    fuyun
    fuyun
    Apr 8, 2024
    44
    @epiloguess 拿 nestjs 和 express 比?咋不拿 express 和 nodejs 比?
    Loserzhu
    Loserzhu
    Apr 8, 2024
    45
    公司项目 express koa2 nestjs(fastify), jvm 系的 groovy(grails) java kotlin scala 都有在用🐶
    sketcherly
    sketcherly
    Apr 8, 2024 via Android
    46
    看见 springboot 我就舒服了
    loveshuyuan
    loveshuyuan
    Apr 9, 2024❤️1
    47
    fastify
    ghjh
    ghjh
    Apr 9, 2024 via Android❤️1
    48
    历史原因,现在是 .Net Core 和 SpringBoot
    wusheng0
    wusheng0
    Apr 9, 2024 via Android
    49
    nest
    nomagick
    nomagick
    Apr 9, 2024 via Android
    50
    自己写的,依赖自动管理,dto ,自动 openapi 文档和自动实例化,自动参数验证
    dj721xHiAvbL11n0
    dj721xHiAvbL11n0
    Apr 9, 2024
    52
    就我一个,想用啥用啥
    qloog
    qloog
    Apr 9, 2024❤️1
    53
    后端:Go ,
    后端框架: https://github.com/go-eagle/eagle

    如果使用 node 相关的框架,就是 Next.js 了
    MrDarnell
    MrDarnell
    Apr 9, 2024
    54
    我喜欢强大的、重的 ,毫不犹豫 Nest.js ,其他几个太轻了,稍微复杂点的事情都得各种集成
    singularity9866
    singularity9866
    Apr 9, 2024
    55
    @liumao Spring Boot 不流行 现在流行什么哦
    zhangxh1023
    zhangxh1023
    Apr 9, 2024❤️1
    56
    midway.js
    项目小,纯好玩儿
    Dylaan
    Dylaan
    Apr 9, 2024
    57
    Express 、Laravel
    archergu
    archergu
    Apr 9, 2024❤️1
    58
    nest.js ,这货真的好用,我甚至写 electron 时都要带一个 nest.js 在主进程。

    搞了一些小模板:
    vue+nestjs: https://github.com/ArcherGu/fast-vite-nestjs-electron
    vue+个人依赖注入小框架: https://github.com/ArcherGu/fast-vite-electron
    react+nestjs: https://github.com/ArcherGu/vite-react-nestjs-electron

    还有一套自己搞的 monorepo 模板:
    https://github.com/Doubleshotjs/template-react-nest
    https://github.com/Doubleshotjs/template-vue-nest
    wdold
    wdold
    Apr 9, 2024
    59
    是我井底之蛙了,一直以为 java 是后端的主流
    xiuming142857
    xiuming142857
    Apr 9, 2024
    60
    后端:go 主要用 go-zero 、gin 前端 vue.js
    wizzer
    wizzer
    Apr 9, 2024
    61
    lstz
    lstz
    Apr 9, 2024 via Android❤️1
    62
    next.js

    这个框架拿来写 ssr 超级酷,除了后台 job 写起来怪怪的,其他都很不错,最酷的还是用 server action 这种 seamless 的前后端方案

    关于内存占用,我相信 nextjs 也是专门做过优化了,我写了一大坨代码和库,也只占用了 30mb ,这对于 Java 来说已经超级可爱了

    我写了个开源项目,可供参考一下 https://github.com/work7z/LafTools
    反正我是很推荐 nextjs 的
    blur1119
    blur1119
    Apr 9, 2024
    63
    @lstz 兄弟说话咋有点外国翻译腔的味道
    CodeCodeStudy
    CodeCodeStudy
    Apr 9, 2024
    64
    用 midwayjs
    express, koa 都太简单了,之前试过 egg ,还行,但是不是 typescript 的。
    后面试了下 midwayjs ,是 typescript 的,功能挺齐全的,也很容易入手。
    shakaraka
    shakaraka
    Apr 9, 2024
    65
    @NessajCN #14

    不会 java 啊问题是
    Zenon
    Zenon
    Apr 9, 2024
    66
    Django
    NessajCN
    NessajCN
    Apr 9, 2024
    67
    @wunonglin 那就更不该用 nestjs 了。不是身心全部 java 形状的谁受得了 nestjs 那股 oop 啰嗦劲儿
    zhwithsweet
    zhwithsweet
    Apr 9, 2024
    68
    fastify
    fenglirookie
    fenglirookie
    Apr 9, 2024
    69
    @lstz 你们的 nextjs 是怎么做前后端数据同步的呢?比如我在 APP 中打开一个网页,这个 webview 在 header UA 中注入了一个数据 country=AU ,我在后端接收到这个 country=AU 之后怎么在 client 的前端页面也取到这个 country=AU ?
    o562dsRcFqYl375i
    o562dsRcFqYl375i
    Apr 9, 2024
    70
    @blur1119 HHHH 我就说好像哪里怪怪的
    fenglirookie
    fenglirookie
    Apr 9, 2024
    71
    @archergu 有没有尝试过将 nextjs 塞到 nestjs 中?
    shakaraka
    shakaraka
    Apr 9, 2024
    72
    @NessajCN #67 但是并没有第二个全家桶框架可以选问题是,要是有选择,肯定不会是 nestjs
    lstz
    lstz
    Apr 9, 2024 via Android
    73
    @blur1119 抱歉....外企呆多了,我的语文水平急剧退化,已经在改正了
    lstz
    lstz
    Apr 9, 2024 via Android
    74
    @fenglirookie

    对这种情况,我记得,nextjs 首先可以通过 middleware 拿到 header 值,然后保存到 nextjs 的一个 context 里。在 server component 就能从 context 里读值出来,并且传给 client component 的 props 里
    lstz
    lstz
    Apr 9, 2024 via Android
    75
    对于那些看不起 nodejs 作为后端语言的朋友,我尊重并且理解他们以往的偏见...

    然后,在 typescript 和 node 最近几个大版本的更新来看,绝大多数 99%的程序员都很少在 nodejs 遇到瓶颈,在近乎 99%的场景 nodejs 都可堪当大任


    现在写 nodejs ,很少能遇到性能问题了
    Torpedo
    Torpedo
    Apr 9, 2024
    76
    @epiloguess #17 这种下载量不准的。express 、react 、vue 这些都大量被用到文档、静态生成器、devserver 里
    Binwalker
    Binwalker
    Apr 9, 2024
    77
    我会说日本还有大量在用 ruby on rails 的么
    dawenxi11
    dawenxi11
    Apr 9, 2024
    78
    nestjs 搭配 typeorm 感觉挺香的,不用写 sql 了,实体定义好了自动生成表,增删改查非常方便。用这个给两个客户写的后台都上线了。
    SHF
    SHF
    Apr 9, 2024
    79
    koa 最好
    glogo
    glogo
    Apr 9, 2024
    80
    ASP.NET Core or ABP
    fenglirookie
    fenglirookie
    Apr 9, 2024
    81
    @lstz 我想问的就是 怎么传给 client component
    raptor
    raptor
    Apr 9, 2024
    82
    一个都没听说过,敝司 springboot
    lstz
    lstz
    Apr 9, 2024 via Android
    83
    @fenglirookie 我理解你在 client component 外面一层应该有 layout 或者 server component...

    所以你在 server component 把值读出来,直接传 React props 就可以了呀....

    header 如何读取,这个容易的
    hui9000
    hui9000
    Apr 9, 2024
    84
    nestjs ,nextjs ,nustjs 他们对比传统 Springboot 这种有啥优势啊?
    forvvvv123
    forvvvv123
    Apr 9, 2024
    85
    koa
    streamrx
    streamrx
    Apr 9, 2024 via iPhone
    86
    都用 nextjs 了为什么不用 springboot , 写东西的速度没啥区别
    chenxiansheng
    chenxiansheng
    Apr 9, 2024
    87
    Avalonia ,我肯定是唯一一个。。。。
    yichengxian
    yichengxian
    Apr 9, 2024
    88
    @mightybruce 就你不适合,你得业务到底多复杂,写的多恶心
    libook
    libook
    Apr 9, 2024
    89
    主要是 koa ,部分 egg ,后来都换 go 了
    libook
    libook
    Apr 9, 2024
    90
    其实最一开始是 express ,用的 mean 架构。后来发现业务逐渐复杂之后,对中间件的功能有更多定制性需求,于是就换了 koa ,自己搭配符合业务需求的中间件,没有合适的中间件就自己写。

    微服务架构下每个服务可以尽可能简单,专门做一件事,所以不需要复杂的框架提供复杂的特性。服务治理部分可以交给 k8s 。

    JS 是个灵活性非常高的语言,对开发者要求挺高的,因为开发者需要在众多可行的实现方案中选择最适合当前需求的。

    TS 我本人不感冒,JS+JSDoc/ESDoc+Linter+IDE 其实也能实现差不多的效果。
    nickfox5880
    nickfox5880
    Apr 9, 2024
    91
    @Seria 你好歹先问问使用场景再输出吧。格杀勿论?
    nexo
    nexo
    Apr 9, 2024
    92
    flask ..............
    tangqiu0205
    tangqiu0205
    Apr 9, 2024
    93
    语言是 go 框架是 kratos
    jesse10
    jesse10
    Apr 9, 2024
    94
    koa
    ragnaroks
    ragnaroks
    Apr 9, 2024
    95
    疫情前我会说 aspnet core 或者 springboot ,现在(即使考虑到性能)我只会说 nextjs 或 fastify 或 fiber
    bianxiaoxian
    bianxiaoxian
    Apr 9, 2024
    96
    gin
    seu
    seu
    Apr 9, 2024
    97
    用 fastify 和 nestjs + prisma 编写过基于 chrome 的 CDP 协议的爬虫
    blur1119
    blur1119
    Apr 9, 2024
    98
    @lstz 请教一下 去外企需要英文和技术并重吗
    encro
    encro
    Apr 9, 2024
    99
    觉得这个怎么样?

    https://elysiajs.com/
    fenglirookie
    fenglirookie
    Apr 9, 2024
    100
    @lstz 我去试试
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4652 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 242ms · UTC 06:21 · PVG 14:21 · LAX 22:21 · JFK 01:21
    ♥ Do have faith in what you're doing.