时间:2022-11-15 02:43:01
eact相对于Svelte有什么优势,很可能是React受到元的支持,元不断注入新的和现代的特性以保持React的活力。 此外,React知识还可用于使用React Native开发Android和IOs APP。 Svelte和React.js都是基于组件的JavaScript框架,主要用于开发web APP应用程序。 最主要的区别在于Svelte没有使用虚拟DOM。 Svelte在构建时将代码编译为Vanilla JS代码,React在运行时解释代码。
快速比较Sveltevsreact:
反应 | 苗条 |
发布依赖于框架的 Javascript,它需要在浏览器中加载核心反应框架。 | 符合在浏览器中本机运行的独立于框架的 vanilla javascript 代码。 |
由 Jordan Walke 于 2013 年创建,由 Facebook 和 React 社区维护。 | 由 Rich Harris 于 2016 年创建,由 Svelte 社区维护。 |
开源,在 MIT 许可下免费使用。 | 开源,在 MIT 许可下免费使用。 |
比较陡峭的学习曲线。 | 非常容易学习和使用。 |
在使用 React Native 的移动开发领域发挥主导作用。 | 尚未在移动应用程序开发领域留下印记。 |
很棒的文档、教程、在线课程、许多在线 React 编辑器、即用型模板等等。 | 在 React 之后,但整个 Svelte 生态系统正在快速增长。 |
Next 框架是一个成熟的基于 React 的框架,用于快速 Web 应用程序开发。 | SvelteKit 之于 Svelte 就像 Next js 之于 React,它正在迅速普及。 |
~190K GitHub 星 | >60L GitHub 起步并迅速追赶,别忘了 Svelte 比 React 还年轻几岁 |
相当快的 UI 性能主要是通过使用虚拟 DOM 设计模式来实现的。 | 在真正的浏览器 DOM 上运行更快的 UI 性能,抛弃了 React 发明的虚拟 DOM。 |
利用 Redux、recoil、Jotai 和 Hookstate 等第三方状态管理库。 | 内置状态管理,无需依赖第三方库。 |
迄今为止最常用的前端框架,仍在不断发展。 | 迄今为止最受欢迎和增长最快的前端框架。 |
需要仔细评估,因为大型APP应用程序使用Svelte和Vue,而React框架中较大的APP应用程序使用Svelte。
类目 | Svelte | Vue | React |
UI 组件库 | Material design ( 坦率的说,不好用 ) | Element UI / AntD | AntD / Material design |
状态管理 | 官网自带 | Vuex | Redux/MobX |
路由 | Svelte-router | Vue-router | React-router |
服务端渲染 | 支持 | 支持 | 支持 |
测试工具 | 官方网站没有相关内容 | @vue/test-utils | Jest |
在使用Svelte开发公司级大型项目时,还发现了一些其他的主要注意事项
没有像AntD那样成熟的UI库。 例如,假设需求方想添加toast提示、弹窗、pm : “很简单。 不发UI原稿,直接使用以前的风格就好了。 “但是,Svelte需要从0开始”“需要拿出toast和弹窗的组件,准备加班。 可能需要额外的开发量和时间。
本机Svelte不支持less/scss等预处理程序,必须自行配置web包加载器。 Svelte原生脚手架没有目录分隔,暂时不支持typescript。 官方说支持,但不知道什么时候支持。 另外,React/Vue等框架附带的runtime会增加在第1个画面中加载的bundle.js,但项目变大时需要注意。 框架的runtime在bundle.js中所占的比例也越来越小。 此时,必须考虑是否存在大于React和Vue生成的代码阈值的Svelte生成的代码。
在大型APP应用中使用Svelte和Vue。 React框架的比较在作者雾豹https://MP.weixin.QQ.com/s/kpl8kg ahha 3ib v1 skhguxa看来,都是很好的框架,Svelte语法更简单,易读没有尝试过的朋友可以将svelte框架的重点放在防备万一。 在编译、响应、组件化三个方面,试图实现真正的无帧运行时,降低网页在低容量设备上的性能和内存消耗。 基本知识: https://svelte.dev/blog/svelte-3-rethinking-reactivity代码熟悉: https://svelte.dev/examples # hello-world代码编写: