主流前端框架实现原理
主流前端框架都遵循组件化开发模式,根据更新粒度可以分为应用级、组件级和节点级。他们的实现原理均为UI=f(state)
即框架内部的运行机制根据状态渲染视图
应用级代表:React
组件级代表:Vue
节点级代表:Svelte、SOLID
一、 节点级更新框架原理
- 预编译:将状态变化可能导致的节点变化编译为具体方法
- 细腻度更新
- 监听状态变化:采用发布订阅者模式,创建一个状态之后,会为状态维护一张“订阅该状态变化的表”,所有需要监听该状态的函数都会在该状态表中注册,每当状态变化,都会遍历这张表。
- 当监听导致状态变化直接调用具体方法改变对应视图
二、 应用级更新框架原理
采用虚拟DOM技术。首屏渲染时,React会根据应用的树结构创建一颗对应的虚拟DOM树,当状态更新后,React生成一颗完整的虚拟DOM树,新生成的每个节点会与之前的虚拟DOM树的同级节点进行比较,如果存在差异,则记录该差异,然后将记录的不一致渲染到视图上。
二、 组件级更新框架原理
Vue在状态更新后,不生成整个虚拟DOM树,只生成发生改变的DOM树。
主要使用细腻度更新和虚拟DOM,Vue3中引入了预编译
参考:
『货很干』主流前端框架的实现原理,懂完了你_哔哩哔哩_bilibili
主流前端框架实现原理相关推荐
- 2017html5框架排名,2017年最主流前端框架比较:Angular、React 和 Vue
如果你是一名前端开发人员,或者是想要学习web前端开发技术的小伙伴,必须要了解的这三款最主流的前端框架.不仅可以帮助你拿到高薪,也能够提升你的编程思想. 目前前端开发技术主要可以分成四个方面: 1.前 ...
- 视频教程-主流前端框架下ArcGIS API for JavaScript的开发-其他
主流前端框架下ArcGIS API for JavaScript的开发 毕业于中国矿业大学地理信息科学专业.现就任于全球领先的GIS公司,主要担任地理平台研发工作,日常工作任务是ArcGIS JS A ...
- 三大主流前端框架比较,程序员会怎么选?
关于Web前端三大框架,一直以来是广大前端开发者口水战必争话题.那么今天也来趟一趟这浑水,仅仅是个人一点小的看法,轻喷哦~ 之所以Web前端框架这个话题热度那么高,很大程度上是因为受众众多.这一点要解 ...
- Vue为什么能逆袭 Angular和React成为主流前端框架?
作者 | Maja Nowak 译者 | 苏本如 责编 | 屠敏 来源:CSDN https://www.monterail.com/blog/reasons-why-vuejs-is-popul ...
- 2019年三大主流前端框架比较,程序员会怎么选?
关于Web前端三大框架,一直以来是广大前端开发者口水战必争话题.那么今天也来趟一趟这浑水,小编个人一点小的看法,轻喷哦~ 之所以Web前端框架这个话题热度那么高,很大程度上是因为受众众多.这一点小编要 ...
- 3大主流前端框架对比
2019独角兽企业重金招聘Python工程师标准>>> 框架对比 Angular React Vue.js 组织方式 MVC 模块化 模块化 数据绑定 双向 单向 双向 模板能力 ...
- 「深入浅出」主流前端框架更新批处理方式
作者 |
- vue ui框架_你为什么要使用前端框架Vue?
1.前端框架的根本意义 1.1 前端框架的好处 最开始学习前端框架的时候(我第一个框架是 React)并不理解框架能带来什么,只是因为大家都在用框架,最实际的一个用途就是所有企业几乎都在用框架,不用框 ...
- 失败原因【object object】_使用前端框架Vue的原因!
1.前端框架的根本意义 1.1 前端框架的好处 最开始学习前端框架的时候(我第一个框架是 React)并不理解框架能带来什么,只是因为大家都在用框架,最实际的一个用途就是所有企业几乎都在用框架,不用框 ...
- 5大JavaScript前端框架简介
转载 https://www.cnblogs.com/fundebug/p/9181621.html 译者按: 简要介绍五大前端框架特性 原文: Top 5 JavaScript Frameworks ...
最新文章
- 动态路由协议RIP的基本原理与配置
- lstm中文分词pytorch版本
- 面试腾讯我遇到了这题:数组全排列
- springmvc十九:springmvc表单标签
- 友盟2015年Q2、Q3中国移动互联网趋势报告
- links下c语言中for的作用是,C语言开发注意事项
- springboot动态加载native类库
- 列表推导式、字典推导式、集合推导式
- matlab求微分方程同届,Matlab学习——求解微分方程(组)
- FormView在什么情况下自动生成模板项?
- spyder pyecharts不显示_我的显示器需要定时校色吗?
- 万网与阿里巴巴业务关系图解
- android 高德地图设置不能旋转_如何将平面控制点导入Google Earth、奥维互动地图及手机奥维互动地图APP里面?...
- GL3520 USB3.0集线器USB HUB电路AD设计硬件原理图+PCB+集成库
- Go语言第一课背后的那些事儿
- TTP223 触摸按键
- 如何使用命令行合成一句话图片木马
- 【python爬虫】easyocr识别gif图片文字
- 云服务器只能显示控制台吗,云服务器控制台使用方法
- 使用python封装了一个获取小程序token,发送订阅消息的类
热门文章
- 使用rsync搭建自用的开源镜像站
- 微信小程序 px和rpx px和pt 深度解析
- linux下安装postgresql遇到的问题(zlib library not found,readline library not found)
- Gitlab-Runner安装并注册
- 翻车记之2018.7.27
- PING 192.168.5.13 (192.168.5.13 ) 56(84) data bytes后长时间不响应
- 几个免费企业邮箱及申请注册教程 网易 腾讯 阿里云
- 如何申请免费SSL证书?宝塔面板SSL证书安装部署完整教程
- 阿里云服务器申请免费ssl证书
- 从文案到配音,只需要一部手机!5分钟掌握影视解说制作流程