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

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

101 回复

后端用 NodeJS ?咋想的?

nodejs 咋了,大量公司都在用 nodejs ,生态活跃,组件众多。

Koa 不是 Express 的升级版吗?同一个作者

业务系统一般是 springboot

spring boot 现在已经不流行了吗

问就是 springboot

我看招人 nodejs 没几个岗位的

nestjs 一股 java 味儿,用这个还不如上 java spring 咧

都用,现在用 nextjs

node.js 不适合做复杂的后端逻辑, 做个各个接口聚合层还是比较多的,在大厂的定位就是前端和 API 聚合。
如果是初创公司 用 Node.js 一把梭 前后端一起写的也很多。

全栈还是看看 nestjs 、nustjs 和 nextjs

express 挺好的,就是万年不更新,也不是自带 battery ,nest 其实用的人不多,只有 express 的 1/10 ,选技术也要考虑一下以后招人难不难
https://npmstats.com/tags/node.js%20framework

Java 已死?你好歹也提一嘴啊!

后端语言:Java
后端框架:Spring 全家桶

koa + ts + 自研脚手架,nestjs 应该挺好,但感觉还是太重了,最终选择对 koa 进行简单封装定制

轻量的就 fastify, hono, elysia(Bun)三选一, 重的就 Nestjs, Nextjs, Nuxtjs

koa + ts
简单,够用,无负担

人家发在 Node.js 节点下,你们凑什么热闹?

express.
国外公司。
说实话,国内以 java 为傲,实际到了国外,你会发现,用 node.js 的要比 java 多几倍。

真有这么多的 node 啊,我工作到现在就没见过两个 node 的

express + typeorm

用了好多年的 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 上…… 现在迁移了一个应用,确实很香。

Adonis 存在感这么弱吗😅

AdonisJS 前面的大版本不支持 TypeScript ,而且是抄的 Laravel 的设计。然而 Laravel 抄的是 Ruby on Rails ,结果没抄到精髓,AdonisJS 这波操作属于把别人消化到一半的东西吃了过来……只能说 AdonisJS 适合 Laravel 用户去使用了。

几万用户就了不起了,用 node 合适。

哇,居然有知道 adonis 的,感觉很小众。我是从 v5 版本开始了解的,看中大而全,什么都有,环境也都配好了,简单配置就能出活。适合快速开发。实在受不了 express 和 koa 到处找库,质量还良莠不齐🥹

之前公司 koa 现在公司 nestjs

最好的语言是吧

用 Koa 吧
人在国外,用 java 的还是比 nodejs 多几倍

nestjs \ midwayJS \ nuxtjs

除了国内开发者数量比不过别的平台,还有啥理由是不能选 node.js 的?

拿 nestjs 和 express 比?咋不拿 express 和 nodejs 比?

公司项目 express koa2 nestjs(fastify), jvm 系的 groovy(grails) java kotlin scala 都有在用🐶

看见 springboot 我就舒服了

历史原因,现在是 .Net Core 和 SpringBoot

自己写的,依赖自动管理,dto ,自动 openapi 文档和自动实例化,自动参数验证

就我一个,想用啥用啥

后端:Go ,
后端框架: https://github.com/go-eagle/eagle

如果使用 node 相关的框架,就是 Next.js 了

我喜欢强大的、重的 ,毫不犹豫 Nest.js ,其他几个太轻了,稍微复杂点的事情都得各种集成

Spring Boot 不流行 现在流行什么哦

midway.js
项目小,纯好玩儿

Express 、Laravel

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

是我井底之蛙了,一直以为 java 是后端的主流

后端:go 主要用 go-zero 、gin 前端 vue.js

next.js

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

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

我写了个开源项目,可供参考一下 https://github.com/work7z/LafTools
反正我是很推荐 nextjs 的

兄弟说话咋有点外国翻译腔的味道

用 midwayjs
express, koa 都太简单了,之前试过 egg ,还行,但是不是 typescript 的。
后面试了下 midwayjs ,是 typescript 的,功能挺齐全的,也很容易入手。

#14

不会 java 啊问题是

那就更不该用 nestjs 了。不是身心全部 java 形状的谁受得了 nestjs 那股 oop 啰嗦劲儿

你们的 nextjs 是怎么做前后端数据同步的呢?比如我在 APP 中打开一个网页,这个 webview 在 header UA 中注入了一个数据 country=AU ,我在后端接收到这个 country=AU 之后怎么在 client 的前端页面也取到这个 country=AU ?

HHHH 我就说好像哪里怪怪的

有没有尝试过将 nextjs 塞到 nestjs 中?

#67 但是并没有第二个全家桶框架可以选问题是,要是有选择,肯定不会是 nestjs

抱歉…外企呆多了,我的语文水平急剧退化,已经在改正了



对这种情况,我记得,nextjs 首先可以通过 middleware 拿到 header 值,然后保存到 nextjs 的一个 context 里。在 server component 就能从 context 里读值出来,并且传给 client component 的 props 里

对于那些看不起 nodejs 作为后端语言的朋友,我尊重并且理解他们以往的偏见…

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


现在写 nodejs ,很少能遇到性能问题了

#17 这种下载量不准的。express 、react 、vue 这些都大量被用到文档、静态生成器、devserver 里

我会说日本还有大量在用 ruby on rails 的么

nestjs 搭配 typeorm 感觉挺香的,不用写 sql 了,实体定义好了自动生成表,增删改查非常方便。用这个给两个客户写的后台都上线了。

我想问的就是 怎么传给 client component

一个都没听说过,敝司 springboot

我理解你在 client component 外面一层应该有 layout 或者 server component…

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

header 如何读取,这个容易的

nestjs ,nextjs ,nustjs 他们对比传统 Springboot 这种有啥优势啊?

都用 nextjs 了为什么不用 springboot , 写东西的速度没啥区别

Avalonia ,我肯定是唯一一个。。。。

就你不适合,你得业务到底多复杂,写的多恶心

主要是 koa ,部分 egg ,后来都换 go 了

其实最一开始是 express ,用的 mean 架构。后来发现业务逐渐复杂之后,对中间件的功能有更多定制性需求,于是就换了 koa ,自己搭配符合业务需求的中间件,没有合适的中间件就自己写。

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

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

TS 我本人不感冒,JS+JSDoc/ESDoc+Linter+IDE 其实也能实现差不多的效果。

你好歹先问问使用场景再输出吧。格杀勿论?

语言是 go 框架是 kratos

疫情前我会说 aspnet core 或者 springboot ,现在(即使考虑到性能)我只会说 nextjs 或 fastify 或 fiber

用 fastify 和 nestjs + prisma 编写过基于 chrome 的 CDP 协议的爬虫

请教一下 去外企需要英文和技术并重吗

在IT领域,后端框架的选择对于项目的开发效率和稳定性至关重要。针对您提到的Node.js的Express、Koa、NestJS这三个框架,它们各有优势,下面我将简要介绍并给出一些代码示例以供参考。

Express

Express是Node.js中最流行的后端框架之一,以其简洁和灵活著称。它提供了丰富的中间件生态系统,让开发者能够轻松构建出功能强大的Web应用。

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

Koa

Koa是一个更现代、更简洁的Node.js框架,它采用了异步函数来处理中间件,使得代码更加清晰和易于维护。

const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {
  ctx.body = 'Hello World!';
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

NestJS

NestJS是一个基于TypeScript的Node.js框架,它提供了模块化和依赖注入等高级功能,适合构建大型企业级应用。

由于NestJS的复杂性,这里不展示完整示例,但NestJS的模块化设计和依赖注入机制是其核心优势。

综上所述,选择哪个框架取决于项目的具体需求和团队的技术栈。每个框架都有其独特的优势和适用场景。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!