React Native, Rx.Net and RxSwift: commonalities



我正在使用RxSwift作为其他人启动的项目的一部分。

为了更多地了解ReactiveX的理论,我遇到了React Native和 Rx.Net。

我想确保我正确理解以下内容:

  • React Native是一个 Java 脚本库,允许开发人员构建原生用户界面。该库将Javascript代码转换为本机移动代码。
  • RxSwift旨在实现Rx.Net的概念,但与React Native没有直接联系。共同点是它们都实现了响应式编程的概念,因此为什么在它们的名称中共享使用"React"/"Reactive"一词。这就是共性应该结束的地方,对吧?

结论:

  • 由于 RxSwift 和 React Native 都与用户界面实现紧密相连,因此不可能将它们一起使用。正确?

RxSwift定义:

RxSwift 是一个用于编写异步和基于事件的代码的库 通过使用可观察序列和函数样式运算符,允许 用于通过调度程序进行参数化执行。

因此,基本上 RxSwift 允许您开发异步应用程序,通过按顺序处理新数据来对新数据做出反应。

React 原生定义:

React Native 允许您仅使用 JavaScript 构建移动应用程序。 使用 React Native,你不需要构建一个"移动 Web 应用程序",一个"HTML5 应用程序", 或"混合应用"。您构建了一个真正的移动应用程序 与使用 Objective-C 或 Java 构建的应用程序没有区别。反应 本机使用与常规iOS相同的基本UI构建块和 安卓应用。您只需将这些构建块放在一起即可 JavaScript 和 React。

React Native 允许您通过在 Javascript 和 Objective-C (iOS( 或 Java (Android( 编写的代码之间创建桥梁来开发本机应用程序。

考虑到这一点,可以猜测您必须创建一个桥来在 React Native 中嵌入本机组件,反之亦然。在这种情况下,同时使用 React Native 和 RxSwift 几乎是不可能的,因为您可能必须创建自己的"桥接"库。

如果你想将FRP(函数式响应式编程(与Javascript代码一起使用,我建议您查看RxJs:https://github.com/Reactive-Extensions/RxJS

RxSwift 是 Microsoft 创建的 Reactive Extensions 的实现。一个基本上允许您使用可观察量的库,这些对象不是包含特定值,而是包含该对象的所有未来值。然后,其他对象可以转换并订阅这些值。

它对于处理异步编程非常有用。

React Native是Facebook创建的框架,用于在Javascript中为不同的平台构建应用程序。它的伟大之处在于,UI 是每个平台的本机,其余代码可以在它们之间共享。

所以,两者都是两个完全不同的东西,但你可以把它们一起使用,只是 React Native 是 Javascript,你必须使用 RxJS 代替。

以下是反应式扩展移植到的不同语言的列表: http://reactivex.io

顺便说一句,如果你只是想学习RxSwift,请阅读这本书:https://store.raywenderlich.com/products/rxswift

最新更新