React 演化史

Stack Overflow Trends 中快速搜索 React 的技术趋势, 能够清楚地发现 20142017 年 React 呈现稳步增加的趋势, 并且在各大社区不难发现, 世界各地的开发人员在最近几年都在积极寻求并得到有关 React 问题的答案.html

React 真的是很是的美妙, 咱们将会用接下来十年的时间来继续探索.
-- Guillermo Rauch前端

图片描述

ReactJS 最开始只是 XHP 的一个扩展. 简单说说 XHP, 它是 Facebook 2010 年推出的 PHP 新的书写方式, 旨在让前端开发变的更简单, 除此以外, 它还能防护跨站点脚本攻击(XSS), XSS 对于有经验的 Web 开发人员就再熟悉不过了, 它容许用户恶意将代码注入到网页中, 是一种常见的 Web 应用程序的安全漏洞攻击. XHP 有 Automatic XSS protection 的功能, 可以很好地规避以上问题.react

然而, XHP 在建立动态 Web 应用程序时却出现了问题, 好比一旦应用程序 state 发生了改变, 整个程序将会从新 render, 这必将致使用户失去以前存储在 DOM 中的 全部数据. 这让 Facebook 的 Ads Org 团队不得不深思: 为何要从新渲染整个 Page, 只由于其中一个 state 的改变? 他们及时地意识到这个问题, 这样的 Web 应用程序将对将来的用户体验形成严重的干扰.git

2011 年, Facebook 高级软件工程 Jordan Walke 开始着手解决这个问题: 如何让 Web 应用程序更加高效, 更好地提高用户体验. 就这样, 一个用于构建用户界面的 JavaScript 库诞生了.github

就在当时, Instagram 想用 React 来构建他们的网站, 然而, 却遇到了不少的问题, 好比 React 跟 Facebook 的 stack 联系可谓十分紧密. 但他们并无放弃, 反而作了不少的工做, 他们但愿, 从此全世界的开发者都会庆幸有 React 这么棒的东西算法

2013 年 5 月, React 在美国 JSConf 开源. 自那之后, 全世界的开发者都很快地将 React 投入到了生产环境中, 像 Trello, Slack, Docker, Airbnb, Khan Academy, New York Times 这些公司都冲在了前列.浏览器

2015 年 4 月, Facebook 发布了关于使用 React 的专利, 说: 只要不起诉咱们专利侵权, 咱们就免费给你使用该软件. 你能够点击这里阅读关于专利的更多内容.安全

6 个 React 亮点

Virtual Document Object Model

为了搞清楚这个, 咱们假设有一个对象, 它有不少个属性, 而后, 咱们去修改其中的一个属性的值, 这时, React Virtual Document Object Model 的高效 Diff 算法就起做用了, 它会首先快速识别出哪些属性发生了改变, 并且它将这个过程的复杂度控制在了 O(n), 接下来就是很是了不得的 reconciliation 操做, 它只会对界面上真正发生变化的部分进行实际的 DOM 操做, 而不是整个 DOM, 这让咱们能够无需担忧性能问题而毫无顾忌的随时刷新整个页面了, 就问屌不屌.服务器

Server-Side Rendering

React 能够很优雅地实现 Server-Side Rendering. 即当用户向应用程序发送请求时, 服务器会将其所须要的组件渲染成 HTML 字符串, 而后把它返回给浏览器, 以后, 浏览器直接解析 HTML 就行. 这样不只缩短了响应时间, 提高了用户体验, 并且有利于 SEO, 最后, 还给开发者带来了组件式开发代码同构的便利.架构

React Native

React Native 于 2015 年发布. 它支持开发者用 JavaSciptReact 构建真正 native 的 Android 和 iOS 应用. 这样, 咱们就不须要再去拼命地学习 JavaObjective-C 了.

React VR

React VR 在最近的 F8 Developer Conference 上发布. 它容许用户只用 JavaScipt 就能构建 virtual reality (VR) 应用. React VR 还能用 WebGLWebVR 给用户带来完美的 VR 体验. 最后, 跟 React 同样, 开发者也能够采用声明组件的方式.

React Fiber

React Fiber 将在 React 16 中闪亮登场, 最初于 2016 年 7 月公开发布, 它是 Facebook 开发的一个全新的架构, 不只包含新的协调引擎,并且提供了可串联使用的全新渲染器. 该架构可向后兼容,完全重写了 React 的协调(Reconciliation)算法, 蕴含着过去多年来 Facebook 不断改进的工做成果. 你能够访问该连接跟进发布.

React Primitives

react-primitivesLeland Richardson 建立的一个库. 该库提供了一套理想的 primitives 让不一样平台中的 React 应用程序均可以使用.

总结

若是你瞬间对 React 产生了浓厚的兴趣, 那么就快点击这里展开你的 React 生涯吧.

原文连接: The evolution of React (FISAYO AFOLAYAN)

相关文章
相关标签/搜索