普通视图

发现新文章,点击刷新页面。
昨天 — 2025年1月17日首页

🍉🍉🍉快来吃瓜,原来国外开发者也会因为哪个框架好吵的不可开交

2025年1月17日 10:30

前言

事情是这样的,今天浏览到了一篇dev上Ryan Carniato大佬(SolidJS库作者)的文章,在文章中,作者阐述了自己对2025年的前段框架的展望,并且提到React、Svelte都在以增加编译的复杂性为代价简化开发。

And interestingly both choices come at the expense of increased complexity in tooling compared to their existing approaches. The verdict is still out on whether these will ultimately be good moves for these projects. The common ground is the foundation we build upon continues to get more complicated as we attempt to create solutions to make development easier.

有趣的是,与现有方法相比,这两种选择都以增加工具复杂性为代价。这些举措最终是否对这些项目有利尚无定论。共同点是,随着我们尝试创建解决方案以简化开发,我们所依赖的基础变得越来越复杂。

回顾下前端框架的区别

为了方便清楚的了解下面的内容,我先给大家简单回顾下前段框架的现状。

欢迎关注我的公众号:萌萌哒草头将军

以前的文章中提到,根据运行时和编译时,前端框架主要分为三类:重编译时(SvelteSolidJS)、重运行时(React)、介于两者之间(AngularVue)。

image.png

但是随着Svelte 5引入了符文(runes),使得Svelte不再是完美的进入运行时即可执行的javascript片段,因为需要动态解析runes的内容。这也是Ryan Carniato觉得Svelte变复杂的原因。

根据不同的更新粗细粒度,他们又被分为:

粒度 成员
粗粒度 React
中粒度 Vue
细粒度 SolidJSSvelte

Vue为了细粒度更新,正在努力的研发vaporReact就目前的趋势来看,打算一条道走到黑了。

Angular起初的处境和Vue相似。但是在发布于 2023 年 5月Angular 16,已经借助Signals实现了翻身,提前完成了细粒度更新的框架。

Signals是一种类似vue3proxyReactivity响应式的发布订阅模式,有响应式更新方面粒度更细,性能更好

好了有了上面的铺垫,相信大家都可以看明白下面的评论。

结果评论区出现了一批弃坑并谴责React的老哥。

好戏开场了

下面是第一位老哥的发言:React已死,SvelteSolidJS当立!

image.png

这种回答,立马招惹了Angular粉丝的不满,原因是Angular使用了Signals技术,性能提高了30%!

image.png

可以看到作为粉丝是很自豪的,甚至提到了vue vopar。说明这位开发者对前端框架的有一定深入的了解。

不过由于Angular自身的笨重,即使有了Signals的加持,还是取得了倒数第二的好成绩!

image.png

图片来源:github.com/transitive-…

接着,伊桑先表达了自己不喜欢 React 的原因:

  • useEffect 破坏代码可读性,难以预测的执行时机
  • 状态管理库混乱,这里是在批评 Redux
  • 不关系CSR。CSR(Client-Side Rendering 指客户端渲染,
  • 虽然入门门槛低,但是存在步兵生成问题,这是指React不能很好的控制最小任务单元,需要借助外部工具,比如状态管理库。

image.png

然后表达了喜欢 Angular 的原因:

  • Angular的就业市场更好(国外)
  • Angular的特性:事件重放、路由级渲染模式、Signals等优秀的功能
  • 依赖注入很棒!
  • 稳定性强,功能丰富

image.png

再来看看其他比较温和的评论

image.png

尹桑又单独评论了一次,这次的评论让我觉得他的水平有点低了,JavaScript 本身就是个脚本语言,不需要构建,边解释边执行。无可厚非的事!

image.png

这位评论者说的也很中肯,文章中,作者的确提出了Signals的缺点: Signal 的生态尚未完全成熟、需要面对一些新的学习曲线和社区支持不足的问题

image.png

这位评论者的赞扬得到了原作者的肯定,并且推荐阅读更多文章,我也进主页看了下,

image.png

我打算抽空好好研究下,抽空在分享给大家!

image.png

最后

一个和谐友爱的社区会帮助开发者们更好的成长,希望大家有理有据的讨论不要踩一捧一。

这是原文连接:dev.to/this-is-lea…

好了,如果你觉得这篇文章对你有帮助,请记得给我点赞,或者关注我的公众号:萌萌哒草头将军

❌
❌