🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余11个优惠名额) →

Relay 技术预览版发布 - Facebook 新的开源项目

8 月 11 号,Facebook 发布了 Relay 的技术预览版,你可以在 Github 还有 npm 上找到。

relay-preview

Relay 是什么

React 简化了开发复杂的用户界面的过程,不过留下了一个问题,就是怎么跟服务端去交互数据。客户端与服务端的松藕合会导致一些跟数据相关的问题,而且会让迭代更困难。另外,工程师们经常需要重新的实施一些复杂的 Async 逻辑,不能去专注应用本身。Relay 考虑到了这些问题,也从 React 那里学了不少,它为应用提供了一种声明式的,面向组件的提取数据的方法。

声明式的数据提取的意思就是,Relay 应用可以指定一下它需要的数据都有什么,不需要说明怎么去提取这些数据。就像 React 那样,只需要描述一下想要的界面,不用考虑视图怎么去更新。Relay 用到了使用 GraphQL 查询的形式去描述需要的数据。Relay 会根据对数据的描述,为了提高效率把查询合并成批处理,去管理容易出错的 Async 逻辑,缓存数据提高性能,还可以在数据更改以后自动去更新视图。

Relay 同样是面向组件的,他可以扩展 React 的组件,然后说明一下都需要哪些数据去显示组件。这让工程师可以局部的去考虑他们的应用,而且可以消除不足或者过分的提取数据的错误。

Facebook 很多真正的应用都用到了 Relay ,而且用的越来越多,因为 Relay 让工程师们可以关注他们的产品,可以更快速的去开发。

第一个版本

Facebook 公开了 Relay 的技术预览版,这也是在 Facebook 内部使用的核心框架,不过也为能让 Relay 在 Facebook 以外可以使用做了一些调整。这是第一个版本,要注意可能会有一些没完成的或者缺少的功能。Facebook 会继续去开发 Relay,并且会与 GraphQL 社区紧密合并,确保 Relay 与 GraphQL 保持同步更新。

下一步

下一步 Relay 会支持离线,也就是在不联网的情况下,让应用可以查询还有队列更新。以后还会提供一个统一的交互接口,不仅仅可以与服务端数据交互,还可以是内存或者本地设备上的数据。未来 Relay 还会考虑不稳定的联网方式,让创建这样的应用变得更简单。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点