# 一,React简单介绍
React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库。
很多人认为 React 是 MVC 中的 V(视图)。
我们创造 React 是为了解决一个问题:构建随着时间数据不断变
化的大规模应用程序。为了达到这个目标,React 采用下面两个主要的思想。
1:仅仅只要表达出你的应用程序在任一个时间点应该长的样子,然后当底层的数据变了,React 会自动处理所有用户界面的更新
2:数据变化后,React 概念上与点击“刷新”按钮类似,但仅会更新变化的部分。
* * * * *
# 二,Reactjs的优缺点
**优点:**
* 简单的界面设计和学习API。
* 比其他JavaScript框架显着的性能提升。
* 更快的更新。React使用最新的数据创建新的虚拟DOM和修补机制,并高效地将其与以前的版本进行比较,创建一个最小的更新部分列表,使其与真正的DOM同步,而不是每次更改时重渲染整个网站。
* 服务器端渲染允许创建同构/通用web app。
* 容易导入组件,尽管具有很少的依赖性。
* 良好的代码重用。
* 非常适合JavaScript调试。
* 完全有可能用React增强Angular以增强麻烦的组件的性能。
* 完全基于组件的架构。
* JSX,一种JavaScript扩展语法,允许引用HTML并使用HTML标记语法来渲染子组件。
* React本地库。
**缺点:**
* 不是一个完整的框架,而是一个库。
* 非常复杂的视图层。
* Flux架构不同于开发人员习惯的范例。
* 很多人不喜欢JSX。
* 陡峭的学习曲线。
* 将React集成到传统的MVC框架,如Rails中需要一些配置。
* react 确实只是一个view,不能开箱即用, 需要依赖的第三方库太多。
* * * * *
**深入Angular vs React vs Ember**
许多开发人员因为JavaScript框架的种类繁多而感到眼花缭乱——框架外观和功能非常不同。
让我们来比较一下三个最流行和广泛使用的JavaScript框架的优势:AngularJS,ReactJS和EmberJS。
![](https://box.kancloud.cn/f2cb59473388b0ce9b84eafd44a688ae_614x886.jpg)
* * * * *
**比较Angularjs Vs Reactjs Vs Emberjs功能**
![](https://box.kancloud.cn/d3975f13aa6d13245845f808c819cbaf_614x889.jpg)
* * * * *
**定义你的需求并使选定的框架发挥最大的作用**
确定哪个框架适合你,只需要评估应用程序的需求以及每个框架的优势即可。这需要深入了解所考虑的每个框架的优点和缺点,以及它们如何在不同用例下竞争。所有框架都有很多共同点:开源,在许可证下发布,并创建具有MVC设计模式的SPA。它们都有视图,事件,数据模块和路由。然而,不同的JavaScript框架更适合不同类型的应用程序。
如果你正在决策创建一个web app,对于长期支持和活跃的社区,Angular,React和Ember是最安全的。此外,目前Angular是这三个中最受欢迎的。你可以一站式使用。它是大型企业的首选框架。Ember是那些寻求全工具包含框架方法的人的最佳解决方案。Ember可以帮助你做出许多决策,所以你不必花时间研究和胶合库。由于Ember需要很长时间学习,所以它适合长期项目。React是上面提名的三个框架中最轻量级的。它的伟大在于一件事:渲染UI组件。许多人甚至将其与前面提到的框架进行配对。如果你需要逐渐现代化现有的代码库,那么这是一个合适的选择。
正如你看到的,没有明确的胜利者。有的框架比其他框架更适合特定的项目。当然,你也可以从几个不同的角度检查你的项目,包括成熟度,大小,依赖性,互操作性,功能等,并联系专业的前端web开发公司来构建完美的网站架构和网站设计,以便于更好地满足你的业务。