Svelte 5:Runes 的崛起
Runes 有什么大不了的?
大约一年前,我发了一条推文,说 Svelte 中的美元符号是现代前端 web 开发中最强大的抽象概念。但是,只过了几个星期,Svelte 就宣布了一项名为“Runes”的全新功能,这项功能通过消除美元符号语法来改变开发者的体验,实现了反应式数据的更新。
从否认到接受
起初,我对这个功能感到恐惧,然后我变得愤怒,嫁祸于 tradeoffs,最后,我来到了接受和真正享受 Runes。那么,为什么最受欢迎的 JavaScript 框架会冒险脱离人们所爱的特征呢?
旧方式:使用 Let 实现反应式状态
在 Runes 之前,Svelte 使用编译器来使反应式状态更新工作自动化。但是,这种魔力只在 Svelte 文件中有效,並且很难在整个应用程序中共享反应式逻辑。
新方式:Runes
Runes 修复了这两个限制,使代码更加明确,并创建了一个通用的反应系统,该系统不仅可以在 Svelte 组件中使用,还可以在普通的 JavaScript 或 TypeScript 文件中使用。这极大地简化了整个框架。
四大 Runes
Svelte 5 中有四个主要的 Runes:
- 状态:创建一个反应式变量,在其变化时自动更新 UI。
- 衍生:根据反应式值计算新值,并且只有在其依赖项更改时才运行。
- 效果:在其依赖项更改时运行一些代码,类似于 React 的 useEffect。
- 道具:消除 Svelte 中奇怪的 export let 语法,并允许您定义组件的输入。
판结:Runes 会毁灭 Svelte 吗?
总之,答案是否,Runes 并不会毁灭 Svelte。事实上,它们使框架更加明确和易于使用。大的问题是,这些 Runes 会使 Svelte 感觉太像 React 吗?
JavaScript 框架的未来
Svelte 5 的有趣之处是,它现在看起来和 feelings 更像 React。 Meanwhile,React 正在变得更像 Svelte。 Angular 也正在朝着这个方向前进,使用 SolidJs 的反应信号。
结论
你不能错过 2024 年选择 JavaScript 框架,因为它们都是同一件事,而这是件好事。感谢观看,我会在下一个看到你!