什么是svelte (官方解释)
Svelte 是一个构建 web 应用程序的工具。
Svelte 与诸如 React 和 Vue 等 JavaScript 框架类似,都想着让构建交互式界面变的更加容易。
但是有一个关键的区别:Svelte 在 构建/编译阶段将你的应用程序转换为理想的 JavaScript 应用,而不是在运行阶段解释应用程序的代码。这意味着你不需要为框架所消耗的性能付出成本,并且在应用程序首次加载时没有额外损失。
你可以使用 Svelte 构建整个应用程序,也可以逐步将其融合到现有的代码中。你还可以将组件作为独立的包(package)交付到任何地方,并且不会有传统框架所带来的额外开销。
官方给出的亮点
- 减少代码量
重复利用你所掌握的编程语言 - HTML、CSS 和 JavaScript,构建的组件无需依赖模板文件。 - 无虚拟DOM
Svelte 将你的代码编译成体积小、不依赖框架的普通 JS 代码,让你的应用程序无论启动还是运行都变得迅速。 - 真正的反应能力
无需复杂的状态管理库,Svelte 为 JavaScript 自身添加反应能力。
自己理解
是基于原生的一个框架,目前除过原生,svelte是代码最少的一个框架,对比react,vue;
优缺点
Svelte的优势:
因为是直接操作原生dom,所以在处理动画的时候 ,速度比较快,也直接,
所以做拖拽时svelte比较适合,
而且里面的东西开发者使用起来特别简单,上手也是特别快。
而react,vue他们是通过操作虚拟dom,虚拟dom改变了,然后再让真实dom改变,
就是中间还有一层,
如果,动画的话,这种就比较影响效率,
所以,react18出了一个知识点去解决这个问题。
svelte缺点:
复杂的项目数据还没有做过实验效验,所以大的复杂场景项目时,rect,vue比较适合,
svelte就不太适合。
数据改动少的话,react这种虚拟dom比较快,比较合适,但是数据随时都在动,拖拽,动画,那么svelte和vue比较合适。