前端主流的框架区别

共同点

在前端 MVVM 的模式下,不同的框架的目标都是一致的,利用数据驱动页面,但是具体怎么处理数据的变化,每个框架都走出了不同的路线

不同点

Angular1

采用的是脏检查。脏检查就是指在对数据的变化的检查上,遵循每次用户交互时都检查一次数据是否变化,有变化就去更新DOM

Vue和 React 框架对比

通知页面更新方式

Vue: 数据变了,框架会主动告诉你修改了哪些数据;
React: 数据变了,只能通过新老数据计算的 Diff 来得知数据的变化

模板书写

React: 在 React 的世界中,只有JSX,最终 JSX 都会在 Compiler 一层编译成JS来执行,所以React组中拥有了全部的 JS 的动态性,因此 React 的API 本身也很少,只有 state hooks component 几个概念
Vue: Vue的世界中默认是template ,语法都是限定死的

框架的发展及性能优化

React

React 的虚拟 Dom 的 Diff 计算逻辑,如果虚拟Dom 过于庞大,使得计算的时间大于16.6ms 可能会造成性能的卡顿,为了突破瓶颈,借鉴了操作系统时间分片的概念,引入了Fiber的架构。简单来说,把整个虚拟 Dom 树微观化,变成链表,利用浏览器的空闲时间计算Diff,一旦浏览器有需求,可以把计算完成的任务放在一旁,把主进程控制权还给浏览器,等待浏览器进入下次空闲

Vue

Vue1的问题是响应数据过多,会带来内存占用过多的问题。
Vue2中引入了虚拟Dom来解决响应式数据过多的问题,组件之间的变化,可以通过响应式来更新,组件内部的数据变化,则通过虚拟Dom去更新页面,这样就把响应式的监听器,控制在了组件级别,而虚拟Dom的量级,也控制在了组件的大小
Vue3 中在虚拟Dom的静态标记上做到了极致,让静态的部分越过虚拟Dom的计算,真正的做到了按需更新,很好的提高了性能

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容