和vue一样,react也是基于ui的框架(不是样式ui)。
React
React的语法没有Vue那么“死板”,更加函数式,更加“底层”。所以React很多地方比Vue灵活,但是学习也更加困难。
目前来说React开发比Vue开发更加难招,工资更高。
起源
React是2013年5月从Facebook公司中开源出来的,起初是公司内部项目对当时可用的框架都不满意,于是自主研发了React(2011年)。
Vue一开始与React有许多相似之处,React目前来说主要的优势还是灵活性和高效性。
安装React环境
准备好node+npm环境。
$ cnpm install -g create-react-app //脚手架
$ create-react-app my-app /*创建项目,应用名称不要有大写字母*/
$ cd my-app/ /*进入项目目录*/
$ npm run start /*启动项目*/
初始化项目的地址: http://localhost:3000/
三大框架比较
React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式;React 构建页面 UI 的库。可以简单地理解为,React 将将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。[React-01] React的起源和发展
Angular
谷歌公司2009年开发。
- 指令开发,指令记忆量巨大。
- 没有组件化开发,后期加入组件化特点
- 限制ajax交互
Vue
尤大(前谷歌,后阿里)
- 2.0加入react的diff算法。
- 适用MVVM架构(非完全)
- 学习angular设计了指令
- 组件化开发
React
Facebook开发并开源。
- 专注于View层
- 没有指令
- 组件化开发
- 后期加入hook钩子(模仿Vue生命钩子)
- jsx语法
Flutter(最新)
谷歌公司开发,最先进框架。
- app性能提升80%,虽然原生永远最快。
总结React四大特点
- 视图层框架
- 组件化开发
- JSX语法
- 虚拟DOM(diff算法)
关于react中的声明式
我们说声明式,就要提及命令式,这两种编程的类型。声明式的特点——‘只关注结果’,不会关心和编写实现过程;命令式的特点相反——‘着重于实现过程’,编写从开始到结果中的每一步过程。
声明式体现在函数的调用,体现在html和css这种语言,不关心如何实现,而react作为ui层为核心的框架,并不关心如何在mvc中完成model到view的实现,而是聚焦于ui组件,通过jsx和内置函数完成项目开发。
sql是声明式的语言,但是编程语言并不是只有某个类型,js中既可以体现声明式,也可以体现命令式。
下篇文章我们讲解react初始化后的项目结构和脚手架create-react-app