React.js
一、起源
起源于Facebook内部项目,因为该公司对市场上所有JavaScriptMVC框架都不满意,就决定自己写一套,用于架设Instagram的网站,做出来以后,发现这套东西非常好用,就在2015年开源了,设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。
【注:】
library:小而巧,只提供了特定的api,船小好掉头,可以很方便的从一个库切换到另外的库,而代码几乎不会改变。
framework:大而全,框架提供了一整套的解决方案,切换框架代价是比较大的。
二、主流前端框架对比
Angular.js:出来最早的前端框架,学习曲线较陡,版本1和2相差较大,存在断层。
Vue.js:最火的一门前端框架,中国人开发,文档很友好。
React.js:最流行的一门语言,因为它的设计很优秀。
三、React对比Vue:
组件化方面:
什么是模块化:是从代码的角度来进行分析的;把一些可复用的代码抽离为单个的模块,便于项目的维护和开发。
什么是组件化:是从UI界面的角度来进行分析的,把一些可复用的UI元素抽离为单独的组件,便于项目的维护和开发。
Vue是如何创建组件的:(1)Vue.component(),js代码来创建组件;(2)通过.vue文件来创建组件(template结构、script行为、style样式)
React是如何创建组件的:有组件化的概念,但是并没有vue.js这样的组件模板文件,一切都是以js来表现的。
三、DOM和虚拟DOM
3.1DOM是什么:
浏览器中的概念,用js对象来表示页面上的元素,并提供了操作DOM对象的API。
3.2React中的虚拟DOM:
是框架中的概念,是程序员用js对象来模拟页面上的DOM和DOM嵌套
3.3为什么要实现虚拟DOM:
实现页面上DOM元素的高效更新。