有多少用 nodejs 写后端的,请举手?

2020-12-15 19:14:06 +08:00
 fxjson

最近玩儿弄了下 koa, 用着还是挺香的,直聘上搜了下,貌似后端的 jd 上很少有对 node 的需求,无外乎 java,php,Python,go 。

那么问题来了,node 只是前端构建工具用的多吗?

19707 次点击
所在节点    程序员
132 条回复
Phariel
2020-12-16 10:07:38 +08:00
TypeScript 才是业界希望🐶
component
2020-12-16 10:13:11 +08:00
部门自建 serverless,几乎所有人都会用到 nodejs 写接口
shunia
2020-12-16 10:14:46 +08:00
@alan0liang #71 你看差了吧,koa 好像是 300 多名,你发的这个是数据库组件的排名
starkwang
2020-12-16 10:29:58 +08:00
坐标鹅厂,每天日调用接近 10 亿的服务就是拿 Node 写的,顶峰 qps 几万是毫无压力的。

为啥要 Node 而不是其它语言?因为这是“接入层”,和前端逻辑密切相关的,一套逻辑分成前端后台两个人写,效率极低;会写 go 、java 的专业前端工程师太难招。

当然,这种做法并不适合小公司,国内前端很多,但优秀的能抗住业务的 Node.js 工程师很少,这些人都集中在大厂,不少人在前端圈子都是大佬级别。
biguokang
2020-12-16 10:30:25 +08:00
这个要看你是用 node 写什么了。。。

如果是写和数据库进行 curd 的那种常规 web 后端,其实和其他传统后端语言相比真的没什么优势。

如果是写高并发、I/O 密集型的服务中间件什么的,node 还是很香的。


而且由于 node 得益于 Google 的 JavaScript 引擎 Just In Time 的特性,所以 node 在冷启动方面速度是最快的,所以现在的 serverless,最适合的开发语言就是 node.js ,现在很多云平台的 serverless 服务的开发语言是优先 node
leekafai
2020-12-16 10:32:55 +08:00
所以有些人一开口就是不行不好,回复之前至少说说自己写了几年 node 后端吧
五年 node 开发,node 真的过了好多个坎才走到今天这么好用,4-> 6,6 -> 8,8 -> 12,12 -> 14,给我的感觉就是要写的代码越来越少,心智负担是在下降的,我觉得很好。
网关、业务、脚本、爬虫,用 node 这么久没发现有是需要撇开 node 才能解决的问题。
但是历史包袱的原因,例如上面有人说到的精度问题,bigint 超限的要转 string 比较安全,这种确实很蛋疼。
还有就是 npm 里面包多质量不稳定,但是能想到的领域基本上都有可靠方案,精度计算,各种 driver,各种 sdk,这方面没有什么业务开发的问题。
我现在唯一想写、有写的,只有 js ts go,其他的都太罗里吧嗦。
durban126
2020-12-16 10:34:20 +08:00
最近在看 nestjs 感觉不错,可以试试
koajs express 都是比较轻量的
KouShuiYu
2020-12-16 10:39:16 +08:00
在小公司做广告管理系统,服务目前跑了几个月的一直 ok,感觉小公司涉及前端项目的用 node 做后端还是很适合的,js 一把嗦
scr
2020-12-16 10:44:43 +08:00
创业全干工程师, 后端用的 nestjs

业务基本是简单的 curd,跑测试单节点 qps 在 4 千左右;

但如果到 4 百 qps, 就能有足够的利润招专业的后端来重新写后端了;

选 nestjs 也有这部分考虑, 可以直接转 springboot
hantsy
2020-12-16 10:46:01 +08:00
@leekafai 最大的问题就是 NPM 包的兼容性,G,F 家大公司还好。一些小的第三方,Broken 的事经常遇到,lock 文件锁定还是不错的。
AGEGG
2020-12-16 10:53:05 +08:00
用 node 时最烦的还是包管理,出现过依赖包的依赖包有问题结果安装不上的情况
catinsides
2020-12-16 10:58:52 +08:00
举手! MEAN stack 全干.
看上面的回复感觉不少人还是对 node 有偏见和误解,不要听风就是雨。
TJT
2020-12-16 11:08:56 +08:00
我司用 Node 支持了每日近亿 PV, 加上 TypeScript 说实话目前都还挺够用的.
lonelymarried
2020-12-16 11:09:40 +08:00
自己的项目我就用 node 写,主要是速度快。发现国外很多开源的很多用 node 写啊。反而 java 很少。
libotony
2020-12-16 11:18:51 +08:00
业余 node 开发者(三年前 node 用的比较多,后来转 go 了 ),前段时间做了个项目,用 typescript + typeorm + express 无脑数据库代理,这种相对不复杂的场景用 node 的话开发效率高,性能瓶颈肯定不在 node 。

优点:
IO 密集型场景下,性能优秀
开发效率快
npm 包数量比较大
资源占用少(以我的认知)

缺点:
成也 JS 败也 JS 且与前端共用生态。在细化的后端领域,JS 好学不代表可以上来直接用 node 做后端更不代表前端可以革后端的命,狭隘的讲前后端的知识体系有差异的,合格的 node 程序员少找。前后端通吃一定是牛逼的,我更愿意偏向于前后端都能干好的为“全干“工程师
缺少”企业级开发框架“的领军者,或者说”企业级开发框架“暂未推广开来

用不用 node 还是看场景吧
xionger
2020-12-16 11:20:58 +08:00
我用 方便好用 性能也不错
mingsz
2020-12-16 11:22:01 +08:00
举个手,挺好用的,容易上手,灵活,开发快,轮子也多
dantegg
2020-12-16 11:22:34 +08:00
@JerryCha 至少在 rm -rf / 时可以抵挡一下
SuperManNoPain
2020-12-16 11:41:37 +08:00
@dantegg 艹 , node_modules 优点+1
wanguorui123
2020-12-16 11:47:23 +08:00
NodeJS 写过大型后端系统

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/735766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX