各位看官们,Svelte5 框架已经正式发布了。
官方除了提供有关即将推出的 Svelte 5 的详细信息之外,该框架的作者 Rich Harris 还分享了自己对 React Server Components 的看法,请来详细看本文~
创建者Rich Harris在最近的播客中向开发者们承诺,Svelte 5.0 将在各个方面“变得更加好用” 。
“它更强大、更可靠、更小、更快、更灵活、更易于组合,”Harris 这样承诺道。“它更加简单。使用Svelte 5编写的代码比用Svelte 4少很多,而且感觉更加良好。”
他表示,Svelte 5 增加了细颗粒度的通用反应性,这意味着开发者将不再局限于 Svelte 组件。与他一起参加播客讨论的还有播客Tracy Lee、Ben Lesh和Adam Rackis。
“你可以在 .cell.json.cell.ts 模块内声明反应状态,这可太酷了。人们喜欢的 Svelte 3 和 4 的所有内容都仍然存在,例如所有动态原语、过渡、作用域 CSS、超快的服务器端渲染等。”
Harris 继续说,你会发现一个“与组件框架完美契合”的应用程序框架,它的打包版本会更好。
当然,他也特别回应了开发者们对Svelte 编译器的批评。
“对于那些过去看过 Svelte 编译器输出的人来说,他们会说,‘这看起来真的很混乱与不稳定,而且如果我有很多这样的组件,它最终会成为一个可能我刚一开始就使用的框架的包更大,但这种情况不再是真的了,因为编译器输出要精简得多,’他说。“从每个方面来看,它都在变得更好。”
有意思的是,Svelte 5 除了发布正式版本,还有一个可供开发人员预览该框架的“游乐场”。
播客中的人物。从左上到右分别为:Tracy Lee 和 Rich Harris。从左下到右:Ben Lesh 和 Adam Rackis。
“说实话,我们实际上是比较保守的框架之一。”
——Svelte 创始人 Rich Harris
他解释了 Signals 的采用曲线,将其追溯到 Vue 3,然后他感谢Solid 的创建者 Ryan Carniato宣传了 Solid 的优势。
“说实话,我们实际上是比较保守的框架之一,” Harris谈到 Svelte 时说。“我们以创新而闻名,但在设计方面,我们绝对是行动较慢的框架之一,这并不是因为我们没有开发速度,而是因为我们对构建的内容非常挑剔。所以我们花了很长时间才到达那里。”
“对我来说,React Server Components 最大的吸引力在于,这是我们在过去十年左右的旅程中合乎逻辑的下一步,将我们所有的东西放在一块。”
– Rich Harris
不过,他表示还缺少一个部分,那就是数据获取。他说:
“假设你将数据传递到组件中,也许当组件在浏览器中初始化时,它会发送网络请求并获取一些数据,然后它会更新一些内部状态,”
他说,尽管这种方法有效,但也存在诸多缺点。
“其中一个缺点是,如果可以的话,你真的不想通过网络来做这些事情。比如你会有加载旋转图标,你可能会有各种各样的瀑布和类似的东西。但真正的问题是,如果你要将数据传递到组件中,你需要在组件本身以外的地方有代码来做数据获取。”
而问题是,如果你删除一个组件,你的程序可能仍然在获取数据,而你可能没有意识到这一点。
“你不知道你删除的是需要数据的代码,而不是数据本身。相反地,如果你在树的某个深处添加了一个组件,那么你可能需要更新数据加载函数,而这个函数距离你很远,甚至可能由另一个团队负责。你大概会遇到一个非常棘手的协调问题。”
而 RSC 强有力地解决了这个问题。
“获取属于组件的数据的代码存在于组件本身中。如果你不再需要该组件,你可以删除它,并且你不再需要为该组件获取数据。所以这是一个非常好、优雅的事情,我认为从未见过有人能像 RSC 那样解决这个问题。”
作者:场长
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。