Facebook 重写 React 和 Relay 框架,旨在提升性能

简介:

Facebook 已完全重写用于构建用户界面的 React 框架。新的项目名称为 React Fiber,其在公布之前就已在 Facebook.com 运行使用。现在,Facebook 将此项目公示,并计划在今年推出 React 16.0 之后将它向开发者开放。

同时,Facebook 也表示已重写 React 的数据驱动框架 Relay。

React Fiber

React Fiber 包含 React 最初的开发理念,也兼容现有的基于 React 的应用程序。Facebook 将其作为 React 框架未来改进和功能开发的基础。

关于为何重写 React 的问题,React 核心开发团队的 Ben Alpert 说道:“这并不代表旧代码存在问题,而是我们希望从一个新起点开始,继续往前发展。”这意味着新代码从一开始就是可扩展的。Alpert 强调,重写后的框架会带来一些突破性的变化,强大的 API 合约将给项目的更新带来灵活性。

Relay Modern

Relay 的重写主要在其性能和可扩展性。Relay 将 React 与 Facebook 的 GraphQL 查询语言结合起来成就了 Relay Modern,它旨在推动 Relay 的理念,并克服原始设计的一些限制,即简化设计以提高框架整体性能。

Relay Modern 保留了 Relay 的最佳部分:

共同定位的数据和视图定义

声明式数据提取

同时:

简化 API

增加新功能

简化框架大小以提升性能等

Facebook 表示,当他们将 Facebook 应用程序中的 Marketplace 选项卡从“Relay”转接到“Relay Modern”时,Android 上交互的时间平均提高了 900ms,使应用程序的响应更敏捷。

本文来自开源中国社区 [http://www.oschina.net]

目录
相关文章
|
1月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
78 9
|
1月前
|
存储 缓存 JavaScript
如何优化React或Vue应用的性能
需要注意的是,性能优化是一个持续的过程,需要根据具体的应用场景和性能问题进行针对性的优化。同时,不同的项目和团队可能有不同的优化重点和方法,要结合实际情况灵活运用这些优化策略,以达到最佳的性能效果。
110 51
|
29天前
|
存储 前端开发
在React框架中,如何使用对象来管理组件的状态
在React中,组件状态通过`state`对象管理,利用`setState`方法更新状态。状态变化触发组件重新渲染,实现UI动态更新。对象结构清晰,便于复杂状态管理。
|
1月前
|
监控 JavaScript 前端开发
如何在实际应用中测试和比较React和Vue的性能?
总之,通过多种方法的综合运用,可以相对客观地比较 React 和 Vue 在实际应用中的性能表现,为项目的选择和优化提供有力的依据。
36 1
|
1月前
|
JavaScript 前端开发 测试技术
React和Vue的性能对比如何?
需要注意的是,性能不仅仅取决于框架本身,还与开发者的代码质量、架构设计以及项目的优化程度等密切相关。因此,在评估性能时,应该综合考虑多个因素,而不是仅仅局限于框架之间的比较。
127 1
|
1月前
|
开发框架 前端开发 JavaScript
React 框架的优点和缺点是什么?
React框架作为当前主流的前端开发框架之一,具有诸多优点,同时也存在一些缺点
|
1月前
|
JavaScript 前端开发 算法
React 框架和 Vue 框架的区别是什么?
React框架和Vue框架都是目前非常流行的前端JavaScript框架,它们在很多方面存在区别
|
1月前
|
移动开发 前端开发 JavaScript
React框架
React是一个用于构建用户界面的JavaScript库,由Facebook开发并于2013年开源,目前在前端开发领域得到了广泛的应用。
|
1月前
|
JavaScript 前端开发 算法
在性能上,React和Vue有什么区别
【10月更文挑战第23天】在性能上,React和Vue有什么区别
21 1
|
2月前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。