当前位置: 首页 > 科技观察

一个可以替代Vue和React的框架是什么样的?

时间:2023-03-12 10:43:04 科技观察

本文转载自微信公众号《狗狗的前端世界》,作者西岭。转载本文请联系Gogo前端世界公众号。2021年,在StackOverflow(https://stackoverflow.com/)开发者调查中,Svelte将成为最受开发者欢迎的Web框架。Svelte是用于构建用户界面的全新Web应用程序。Svelte的读音是[/sf?lt/],意思是苗条、苗条、优美。自2019年以来,它受到了广泛关注,是目前开源社区中最流行的前端框架。Svelte与React和Vue等JavaScript框架一样,致力于简化交互式用户界面的构建。但有一个关键的区别,Svelte在构建/编译阶段将应用程序转换为JavaScript代码以供直接应用,而不是在运行阶段解释应用程序的代码。这意味着您无需为框架消耗的性能付费,并且在应用程序首次加载时不会有额外的损失。Svelte可用于构建整个应用程序,也可逐渐集成到现有代码中。您还可以直接将组件作为独立包交付,而无需传统框架的开销。在今年StackOverflow的调查中,Svelte成为了大家关注的明星,目前的使用量仅次于Vue,排名第四,大有取代Vue和React的趋势。React和Vue等传统框架在浏览器中完成了大量工作。与使用虚拟(虚拟)DOM不同,Svelte将这些任务放入构建应用程序的编译阶段。甚至有人直接将Svelte视为前端“编译器”,而不是框架或库,可见Svelte与其他框架的核心区别。Vue的作者游玉玺曾经对Svelte的描述非常贴切:Svelte的核心思想是“通过静态编译减少框架在运行时的代码量”。比如现在的框架不管是ReactAngular还是Vue,无论你怎么编译,在使用的时候都必须“导入”框架本身,也就是所谓的运行时(runtime)。但这与Svelte不同。编译Svelte组件后,所有必需的运行时代码都包含在其中。除了引入组件本身,不需要额外引入所谓的框架运行时!果然,大哥的发言恰到好处,不多不少“恰到好处”。在我看来,Svelte是否适合在大型项目中使用还有待观察。虽然核心思想是不需要“运行时”,但是项目组件越多,运行时代码就会越多,组件之间的代码重复率也会越高。另外,现阶段周边生态确实处于基本荒芜状态。不过,如果你沉迷于偏原生的前端开发,Svelte绝对会让你用得舒心。因为Svelte可以将组件作为独立的包进行交付,所以如果你是在微前端架构下做组件级的开发,Svelte是一个法宝。如果你熟悉Vue,那么学习Svelte会让你感觉如此轻松,因为Vue和Svelte都属于Template阵营,学习成本非常低。