导读:前端框架一直在向相同的功能迈进,例如使用Signals(信号)。这会导致框架的统一,或者某个框架引领潮流吗?这不,前端框架的开发者们开始讨论起来了。
JavaScript 框架会合并成为一个整体吗?
上周五在 GitNation React Summit Fireside Chat 上,人们发出了一个简短回答:“不能”。一个较长的回答是:“可能不会,因为它实在太复杂”。
Google的 Angular DevRel 技术主管兼经理Minko Gechev表示道,虽然框架在某些领域可以而且正在实现标准化(比如,除 React 之外的大多数框架都采用了Signals ),但是,当涉及到框架如何处理语法等基本问题时,实现标准化就比较困难。
“随着时间的推移,我们可能会统一一些共享的原语和实践,我知道我们可以开始使用Vue过渡来实现路线和动画——这将非常棒。许多框架都在共享 Signals。我们正在就细粒度代码加载的类似想法进行统一。”
而 Solid.js 的作者 Ryan Carniato 则认为框架正在走向融合:
“从我的角度来看,我们很有可能正在走向融合,但有的人可能会阻止这一过程的完全发生。”
Gechev 和Carniato 都参加了由 OLX 开发倡导者Daniel Afonso主持的炉边谈话小组,该小组由来自 Solid、 Next.js、Angular 和 Astro 的知名创建者和维护者组成。
与前端框架产生共鸣
如Solid的创始人Ryan Carniato所说,人们看到了高级架构方法的融合,但他本人也认为语法是一个挑战。尽管他更乐观地认为这些框架可以融合,但他也更悲观地认为一些人们并不太允许这种情况发生。
“你可能会说其中一些可以合并在一起,但我看到人们在语法上各执一词,有些人永远不会选择JSX,有些人永远不会放弃他们的单页组件,这对他们来说并不重要,最后,如果你选择 Vue……、Svelte 5、SolidJS——输出可能几乎相同,但它们都拥有不同的语法。所以从我的角度来看,我们很有可能正在融合,但人们可能会阻止这种情况真正完全发生。”
Aakansha Doshi 和 Fred Schott 在 2024 年 React Summit 的炉边谈话中
FOSS United Foundation 的 Aakansha Doshi 和 Astro 的创建者 Fred Schott 也参加了 2024 年 React Summit 的炉边谈话。
最后,专家组们一致认为,人们选择框架是有很多原因的,比如工作要求,或者有时开发者只是对某个框架有“感觉”。
“是Rich Harris (Svelte 的创始人) 说人们根据自己的感觉选择框架的吗?”Carniato 说。“我不知道这是好事还是坏事。我对此并不那么乐观,但我实际上全力支持他的观点。所以只要有不同的氛围,你就会有不同的框架。”
前端框架具有独特的优势
Astro的联合创始人Fred Schott同意每个框架都有自己的“氛围”的观点,但他认为这是“优势”代码的结果。
“我喜欢这种氛围评论,因为我觉得这实际上是对这样一个事实的反应:我们中没有人会对自己擅长的事情采取立场,如果你去Svelte 的网站,它就像‘合成控制论’……这不是你使用 Svelte 的原因。你用 Svelte是因为它非常擅长数据可视化。它真的是一种很好的——就像 HTML那样熟悉的语法。它非常适合学习,也很强大。”
他继续说,React 非常适合标准JSX,它是一个安全的良好选择。他补充说,Solid 性能很强,处于框架的领先地位。
“我认为每个人都有自己的重点和氛围,有自己擅长的事情,比如 Astro 的内容重点,这是件好事,如果我们都喜欢用某种工具的最低标准来统一所有工具,我认为我们不会成功。不应该每个用例都是相同的;不是每项技术都应该是一样的。我认为不同的框架或不同的库都有各自的优缺点或不同之处,并且有不同的重点,这是一件好事。”
标准能成为更好框架的关键吗?
Aakansha Doshi是一位开源倡导者,也是FOSS(自由开源软件)联合基金会的组织者,她认为基于标准的方法比框架融合更有用。她提出合并可能会导致维护等问题,以及团队之间推出新功能的问题。
Doshi 这样说道:
“与其专注于合并框架,不如更多地关注标准化这些框架背后使用的原则,因为这样将来在同一个应用程序中,一部分可能是 Next.js,一部分可能是 Astro,一部分可能是其它框架。所以你可以根据用途从这三种框架中各取所需,让我们尝试标准化构建这些框架背后的原则,而不是合并这些框架。”
结语
看来有统一并合并JS前端框架的苗头,但还是要面临的复杂度,可能比想像的更大;但是制定统一的标准或原则倒是有一定的可行性。
作者:万能的大雄
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。