关于未来,哪个框架会成为最流行的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hoseawu
V2EX    Node.js

关于未来,哪个框架会成为最流行的?

  •  
  •   hoseawu 2022-08-26 17:00:40 +08:00 6386 次点击
    这是一个创建于 1216 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人用过 express ,nestjs ,目前工作是做 nestjs 开发的。
    很想知道行业趋势将如何去抉择,什么框架会成为最流行的呢?
    就本人用过的框架而言
    nestjs+ts 的开发非常舒服,但是确实对于一个小项目来说过于繁琐了。
    express 倒是方便,但也确实大项目写到后期维护很是问题。
    5 条回复    2022-09-09 12:30:34 +08:00
    slowgen
        1
    slowgen  
       2022-08-26 18:25:11 +08:00   2
    选大而全的。

    大而全框架带来的是一整套的成熟的解决方案,不需要自己东拼西凑搞半成品,比如当年炸天的 Ruby on Rails ,指导了多少框架,前端工程化惊为天人,缓存利用到极致,ORM 设计更是被现在的框架各种抄。简陋的框架只会让别人去拼凑,最佳实践都很少,也不利于开阔视野。看看 python web 那些从 Flask 转到 Django 的就懂了,还有现在的 FastAPI ,流行度比 Sanic 高多了。

    排除单独吹 Serverless 的,因为各大云厂商 Serverless 都支持跑 docker 镜像,自己拿 pkg 打成单个可执行丢 slim/alpine 镜像就搞定了,也就几十 MB ,冷启动快得一批,而且 Deno 接下来重点也在兼容 Node.js ,到时又会多一个打包成可执行文件的方案。再看看云厂商那蹩脚的 layer 层设计,让你把 node_modules 放那里,一堆碎片文件妨碍启动速度,不靠谱,狗看了都摇摇头,搞不好还是网络加载的。

    单独面向微服务的也可以排除了,比如 Moleculer ,这年头微服务直接上 k8s 然后纯 http 互相调用,无状态简单得一批,可观察性也好,工具链也成熟,还能精细控制流量。

    排除 Midway.js ,阿里的开源大家都懂的,三年前我第一个 Node.js 项目用它就碰到一些弱智 bug ,懒得再看了。

    排除没用 TypeScript 的,Sails/Hapi 拜拜。

    AdonisJS 的纯 TypeScript 版出来太晚了,挺像 Laravel ,PHP 转型到 Node.js 的会喜欢,不过很多 PHP 都觉得转 go 会更好。

    所以没什么好选的了,早知道,还是原道,哦,还是 NestJS 。
    xieren58
        2
    xieren58  
       2022-08-26 23:06:03 +08:00
    个人使用, 感觉 Moleculer 比 NestJS 好用.
    hutoer
        3
    hutoer  
       2022-08-27 11:23:55 +08:00
    我也感觉 Moleculer 比 NestJS 好用。

    容易上手的微服务体系
    通过 MQ (多种)支持事件驱动、解耦服务、负载均衡等
    支持服务注册 /发现、日志、跟踪、度量、缓存等
    容错功能(熔断,限流,重试,超时,回退)
    自带 API 网关
    自带 CRUD 模块,可以快速产生 RESTful API
    插件化体系,常用模块都有集成
    支持多语言:Javascript/typescript (主要开发语言)、java (完成度很高)、其他语言(不成熟,python go c# 等 client 可以用)

    其实大多数团队的项目都是小项目(特指资源需求),2-3 台普通服务器( 32 核、64G 内存这种)就搞定了。一定要硬上 k8s ,就像 https://twitter.com/dexhorthy/status/856639005462417409

    k8s 用了 5 年了吧,几十台服务器,几百个服务,部署调优还是很耗费时间。小项目(服务器要求小于 10 台),我觉得 Moleculer + docker compose 就很好了,简单够用,持有成本低(硬件成本、部署维护成本)。
    libook
        4
    libook  
       2022-08-29 16:06:51 +08:00
    选型要看项目时下的需求可状况,没有一招打天下的框架,而且随着需求变化、项目发展,未来还可能会换架构。

    有时候简单为服务我会直接用 Node.js 官方 HTTP API 手撸。

    复杂点的我以前习惯用 koa 组合各种三方或自造的组件,来应对框架自带组件不能满足需求需要自己造组件的尴尬场景。

    个人认为现在大趋势是 Service Mesh ,也就是说框架会越来越弱化除了业务逻辑以外的部分,那些部分会使用云原生中间件和服务治理架构来解决。
    zhennann
        5
    zhennann  
       2022-09-09 12:30:34 +08:00   1
    如果后端主要是 CRUD+权限,那么可选框架不要太多。如果后端还要做流程审批,那么,java 端选 Activiti ,node 端选 CabloyJS
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2960 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:21 PVG 21:21 LAX 05:21 JFK 08: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