🍉🍉🍉快来吃瓜,原来国外开发者也会因为哪个框架好吵的不可开交
前言
事情是这样的,今天浏览到了一篇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.
有趣的是,与现有方法相比,这两种选择都以增加工具复杂性为代价。这些举措最终是否对这些项目有利尚无定论。共同点是,随着我们尝试创建解决方案以简化开发,我们所依赖的基础变得越来越复杂。
回顾下前端框架的区别
为了方便清楚的了解下面的内容,我先给大家简单回顾下前段框架的现状。
欢迎关注我的公众号:萌萌哒草头将军
以前的文章中提到,根据运行时和编译时,前端框架主要分为三类:重编译时(Svelte
、SolidJS
)、重运行时(React
)、介于两者之间(Angular
、Vue
)。
但是随着Svelte 5
引入了符文(runes),使得Svelte
不再是完美的进入运行时即可执行的javascript
片段,因为需要动态解析runes
的内容。这也是Ryan Carniato
觉得Svelte
变复杂的原因。
根据不同的更新粗细粒度,他们又被分为:
粒度 | 成员 |
---|---|
粗粒度 | React |
中粒度 | Vue |
细粒度 |
SolidJS ,Svelte
|
Vue
为了细粒度更新,正在努力的研发vapor
,React
就目前的趋势来看,打算一条道走到黑了。
而Angular
起初的处境和Vue
相似。但是在发布于 2023 年 5月
的Angular 16
,已经借助Signals
实现了翻身,提前完成了细粒度更新的框架。
Signals
是一种类似vue3
的proxy
、Reactivity
响应式的发布订阅模式,有响应式更新方面粒度更细,性能更好
好了有了上面的铺垫,相信大家都可以看明白下面的评论。
结果评论区出现了一批弃坑并谴责React
的老哥。
好戏开场了
下面是第一位老哥的发言:React
已死,Svelte
、SolidJS
当立!
这种回答,立马招惹了Angular
粉丝的不满,原因是Angular
使用了Signals
技术,性能提高了30%
!
可以看到作为粉丝是很自豪的,甚至提到了vue vopar
。说明这位开发者对前端框架的有一定深入的了解。
不过由于Angular
自身的笨重,即使有了Signals
的加持,还是取得了倒数第二的好成绩!
接着,伊桑先表达了自己不喜欢 React
的原因:
- useEffect 破坏代码可读性,难以预测的执行时机
- 状态管理库混乱,这里是在批评
Redux
- 不关系CSR。
CSR(Client-Side Rendering
指客户端渲染, - 虽然入门门槛低,但是存在步兵生成问题,这是指
React
不能很好的控制最小任务单元,需要借助外部工具,比如状态管理库。
然后表达了喜欢 Angular
的原因:
-
Angular
的就业市场更好(国外) -
Angular
的特性:事件重放、路由级渲染模式、Signals
等优秀的功能 - 依赖注入很棒!
- 稳定性强,功能丰富
再来看看其他比较温和的评论
尹桑又单独评论了一次,这次的评论让我觉得他的水平有点低了,JavaScript
本身就是个脚本语言,不需要构建,边解释边执行。无可厚非的事!
这位评论者说的也很中肯,文章中,作者的确提出了Signals
的缺点: Signal
的生态尚未完全成熟、需要面对一些新的学习曲线和社区支持不足的问题
这位评论者的赞扬得到了原作者的肯定,并且推荐阅读更多文章,我也进主页看了下,
我打算抽空好好研究下,抽空在分享给大家!
最后
一个和谐友爱的社区会帮助开发者们更好的成长,希望大家有理有据的讨论不要踩一捧一。
这是原文连接:dev.to/this-is-lea…
好了,如果你觉得这篇文章对你有帮助,请记得给我点赞,或者关注我的公众号:萌萌哒草头将军