在 Stack Overflow Trends 中快速搜索 React 的技术趋势,可以清楚地发现 2014 到 2017 年 React 呈现稳步增长 的趋势,而且在各大社区不难发现,世界各地的开发人员在最近几年都在积极寻求 并获得有关 React 问题的答案.
React 真的是非常的美妙,我们将会用接下来十年的时间来继续探索 . -- Guillermo Rauch
ReactJS 最开始只是 XHP 的一个扩展. 简单说说 XHP,它是 Facebook 2010 年推出的 PHP 新的书写方式,旨在让前端开发变的更简单,除此之外,它还能防御跨站点脚本攻击(XSS ),XSS 对于有经验的 Web 开发人员就再熟悉不过了,它允许用户恶意将代码注入到网页中,是一种常见的 Web 应用程序的安全漏洞攻击. XHP 有 Automatic XSS protection 的功能,能够很好地规避以上问题.
然而,XHP 在创建动态 Web 应用程序 时却出现了问题,比如一旦应用程序 state 发生了改变,整个程序将会重新 render ,这必将导致用户失去之前存储在 DOM 中的 所有数据. 这让 Facebook 的 Ads Org 团队不得不深思: 为什么要重新渲染整个 Page,只因为其中一个 state 的改变 ? 他们及时地意识到这个问题,这样的 Web 应用程序将对未来的用户体验造成严重的干扰.
2011 年,Facebook 高级软件工程 Jordan Walke 开始着手解决这个问题: 如何让 Web 应用程序更加高效 ,更好地提升用户体验. 就这样,一个用于构建用户界面的 JavaScript 库诞生了.
就在当时,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 年发布. 它支持开发者用 JavaScipt 和 React 构建真正 native 的 Android 和 iOS 应用. 这样,我们就不需要再去拼命地学习 Java 和 Objective-C 了.
React VR
React VR 在最近的 F8 Developer Conference 上发布. 它允许用户只用 JavaScipt 就能构建 virtual reality (VR) 应用. React VR 还能用 WebGL 和 WebVR 给用户带来完美的 VR 体验. 最后,跟 React 一样,开发者也可以采用声明组件 的方式.
React Fiber
React Fiber 将在 React 16 中闪亮登场,最初于 2016 年 7 月公开发布,它是 Facebook 开发的一个全新的架构 ,不仅包含新的协调引擎 ,而且提供了可串联使用的全新渲染器 . 该架构可向后兼容 ,彻底重写了 React 的协调(Reconciliation )算法,蕴含着过去多年来 Facebook 不断改进的工作成果. 你可以访问该链接跟进发布.
React Primitives
react-primitives 是 Leland Richardson 创建的一个库. 该库提供了一套理想的 primitives 让不同平台中的 React 应用程序都可以使用.
总结
如果你瞬间对 React 产生了浓厚的兴趣,那么就快点击这里展开你的 React 生涯吧.
原文链接 : The evolution of React (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|