React简介
React是Web开发框架,用于构建用户界面的JavaScript库,起源于Facebook的内部项目,该公司对市场上所有 JavaScript MVC框架都不满意,决定自行开发一套,用于架设Instagram的网站。于2013年5月开源。由于React的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来Web开发的主流工具。
这个项目本身也越滚越大,从最早的UI引擎变成了一整套前后端通吃的Web App解决方案。衍生的React Native 项目,目标更是宏伟,希望用写Web App的方式去写Native App。如果能够实现,整个互联网行业都会被颠覆,因为同一组人只需要写一次UI ,就能同时运行在服务器、浏览器和手机。
React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。
React特点
React 有2个颠覆式的创新点:虚拟 DOM 机制、JSX 语法的使用;完美地解决了前端开发“模板语言不够灵活,DOM API 又太繁琐,且难以维护”的痛点,也因此,React 逐步成为了最为流行的前端框架之一。它作为前端多年发展的智慧结晶,为前端开发提供了一种优秀的模式,很值得研究。那么React 有哪些特征才使它这么受欢迎的呢?
1. JSX
JSX 代表 Javascript XML。它是 Javascript 和 Html 的融合。
它是一种类似于 HTML 的标记语法,用于描述应用程序的 UI 外观。总体上使代码易于理解和调试,避免了复杂的 javascript DOM 结构。我们也可以用纯旧的 JavaScript 编写,这使得开发更快更容易。
2. Virtual DOM
Virtual DOM 表示一个原始 DOM,它允许 React 在其虚拟内存中复制网页。
它具有真实 DOM 的所有属性,并且只更新更改的组件,而不是所有组件。这就是 DOM 操作比任何其他框架都快的原因。
3. 组件
ReactJS 是一个基于组件的架构。应用程序是使用组件构建的,其中每个组件都有其逻辑和控件。
组件的逻辑是用 Javascript 编写的,而不是在模板中,因此很容易通过应用程序传递数据而不会中断 DOM。
4. 单向数据绑定
顾名思义,数据在整个应用程序中仅沿一个方向流动。单向数据流由 Flux 管理,这是一种 Javascript 架构,可提供更大的灵活性并提高应用程序的效率。
单向数据绑定的显着优势在于它在应用程序中提供了更好的控制。
5. 声明式用户界面
ReactJS 为 Web 和移动应用程序创建了一个非常动态和交互式的用户界面。声明式 UI 使代码更易于调试。
6. React Native
React Native 是一个基于 ReactJs 的框架,它使用原生组件来开发移动应用程序。React Native 功能将 React 代码转换为在 iOS 和 Android 中工作。
7. TypeScript
TypeScript 是 Javascript 的超集,它允许使用 Typescript 语法编写普通的旧 Javascript。它在前端开发人员中也很受欢迎,因为它可以帮助他们将类型信息添加到代码中,从而让他们更快地发现和解决错误。