美文网首页全栈记让前端飞
1 Web前端框架基本认知、虚拟DOM

1 Web前端框架基本认知、虚拟DOM

作者: 官清岁月 | 来源:发表于2019-05-11 08:10 被阅读0次

1、框架基本认知: - -> 框架复杂度VS应用复杂度的权衡

(1).学完html4.01、css2.0、js便可进行项目的开发了,如果再有html5、css3、jQuery、ES6.0、模块化、自动化构建工具的使用,进行大型项目的开发也是OK的,但开发过程会发现代码的组织化不好,后续维护难度较大 -> 框架便可解决系列问题,而且最重要的一点:框架可保持"UI"和"状态"同步,即响应式开发;(UI即视图层,状态即逻辑层/数据)

(2).原生开发:状态改变的时候需手动操作更新视图层数据 -> 数据改变需重新调用页面渲染函数重新进行数据渲染,而且UI视图中的操作Dom节点的代码,一部分在html结构,一部分在js动态创建,代码可读性及维护性很差;->但原生开发的项目依旧也有很多,毕竟应用复杂度低,使用框架需要学习成本;

(3).框架开发: 开发者聚焦到状态(数据)管理,UI层面框架实现即可;

2、前端三大主流框架: Angular、React、Vue

框架热度评价维度:百度指数(可粗略代表国内)、Google指数、Github(star)、npm下载量(粗略代表国际)、浏览器devtools、indeed网站招聘需求;百度指数:Vue > React > Angular;  npm下载量(框架依赖的模块都是npm下载):Angular > React >Vue;当然了,随着时间的推移,指数会发生变化

(1).Angular: 优点: MVVM模式、双向数据绑定(UI视图层变化,状态也随之改变)、依赖注入;缺点:语法复杂、angular5使用TypeScript(js的超集);其聚焦点是PC端,学习成本大,学习路线陡峭(AngularJS指代1.0版本,Angular指代2.0及以后的版本,1.0版本与2.0版本差异很大,可认为是两个框架,2.0版本之后都是兼容的);

(2).React: 优点:虚拟DOM(减少重绘、重排的次数,直接操作DOM,经常重绘重排)、更加轻量、JSX语法;缺点:官方文档没有体系化、JSX语法;学习成本较大,学习路线陡峭;(JSX语法将html、css全部用js表示,性能确实好)

(3).Vue: 优点:其使用HTML模版(最终还是操作虚拟DOM)、详细的中文化文档(得益于创始人尤雨溪是华人)、轻量30kb左右;缺点:社区还不健全,生态系统不完善,缺乏大型项目的实践;学习成本较低;(Vue兼容TypeScript,其的自由度较高,可使用该语言进行vue项目开发)

- - - > > > 其他框架:Ember、Knockout、Polymer、Riot、

3、前端框架的特点:其都基于组件化、强大的社区、成熟的第三方组件库以及都有很多的第三方库可解决诸多业务问题,其都有浏览器调试插件(工具)、其都对单页面应用很友好; ->它们都实现了视图和状态同步;

4、虚拟DOM:伪dom/假dom,JS模拟实现的具有真实dom结构的树形结构,其与真实dom通过映射关系,例如:snabbdom

真实的dom和js建立连接很耗费性能:

(1).dom与js所在位置不同;

(2).GPU区别,我们都使用的是家用GPU,真正适合绘制页面的是专业GPU, 家用GPU的性能差很多比专业GPU绘制图像的功能;

参考:vue  PPT

相关文章

  • 1 Web前端框架基本认知、虚拟DOM

    1、框架基本认知: - ->框架复杂度VS应用复杂度的权衡 (1).学完html4.01、css2.0、js便可进...

  • 虚拟DOM

    最近比较流行的前端框架都涉及到了虚拟dom的概念。那什么是虚拟dom呢?目前我们都是数据驱动视图。页面的更新根据数...

  • Vue 项目性能优化 — 实践指南(网上最全 / 详细)

    前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们...

  • Vue性能优化

    前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们...

  • Vue 项目性能优化方案

    前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们...

  • 虚拟dom(snabbdom源码分析)

    snabbdom源码 现在流行的前端前端库都使用虚拟dom来提高dom渲染效率,简单的来说虚拟dom就是用js来模...

  • 虚拟DOM

    我们知道,操作DOM是非常昂贵的,而操作js却非常便宜。所以像react这样的前端框架便采用js来创建虚拟DOM,...

  • Vue 项目性能优化实践

    Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们不再需...

  • Flutter对比React Native

    实现机制对比 React Native依赖web技术,具有前端亲和力,融合HTML标签思想,虚拟DOM的机制映射成...

  • 简单模拟虚拟dom

    虚拟dom是现在前端非常重要的一个技术,这篇文章试着简单模拟一下虚拟dom功能。虚拟dom比较内存中虚拟dom的差...

网友评论

    本文标题:1 Web前端框架基本认知、虚拟DOM

    本文链接:https://www.haomeiwen.com/subject/najpdqtx.html