发布网友
共1个回答
热心网友
了解了Svelte作为一个不同于React和Vue的前端UI框架,其在国外的关注度一度超过React。Svelte具有“苗条的,身材修长的”特点,与Java的Servlet在名称上有相似之处,但实际上它们是完全不同的概念。Svelte是一个前端UI框架,更准确地说,它是一个编译器,由知名开源作者Rich Harris开发。Rich Harris也是Rollup打包工具的创造者,还开发了如Reactive、Svelte等流行开源项目。
Svelte的历史可以追溯到Ractive.js,后者在2013年发布,与React几乎同时问世。Ractive.js灵感源于Knockout、Angular及当时其他技术的混合。Rich Harris认为Ractive.js并不适合移动互联网时代,于是提出了创建一个编译器的新想法。Svelte的第一个版本基本是在Reactive基础上添加了一个编译器,为了让开发者快速适应,Svelte继承了Reactive的许多设计。随着时间推移,Svelte得到了更多开发者认可,但后来开发团队发现Ractive的一些设计并不正确,因此Svelte 2只做了微小改进,如模板语法使用单花括号而非双花括号,更接近JSX。Svelte 3实现了重大改动,重新思考了现代UI框架的核心概念:反应性,最终成为成熟的Web应用程序构建工具,支持TypeScript。
Svelte 4作为过渡版本,为下一代Svelte(即Svelte 5)的发布奠定了基础。Svelte的优势在于性能,整体表现优于React、Vue和Angular等框架。它使用虚拟DOM的开销理论,并在构建时编译组件,生成高度优化的轻量级JavaScript代码,避免了虚拟DOM带来的性能和内存消耗,实现了更快的加载时间、更流畅的动画和更高的整体性能。体积方面,Svelte在代码行数、打包大小和npmtrends上都遥遥领先,但大型项目在编译后可能会面临代码体积问题。Svelte语法简单,上手容易,允许开发者用较少的代码实现功能运行,降低了心智负担和学习曲线。
Svelte在国外前端社区广受欢迎,GitHub上的Star数量达到75k以上,在2023年的risingstars报告中排名第三,关注热度在stateofjs 2022年度报告中也名列前茅。然而,Svelte的生态系统相比React和Vue仍不够丰富,代码冗余问题在大型项目中可能显现,抽象能力受限于不使用虚拟DOM。尽管下载量相比Vue和React有差距,但Svelte在国外的推广已经取得一定成果,尽管在国内的推广程度仍不够高。
学习Svelte的理由包括其简洁的语法、优秀的性能、体积小、易于上手和较低的心智负担。本章涵盖了Svelte的基本信息、历史、优势、劣势以及为何选择学习Svelte的原因。通过学习本章,开发者可以对Svelte有一个全面的认识,为接下来的深入学习打下基础。