4

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

为了更多地了解 ReactiveX 的理论,我偶然发现了React NativeRx.Net

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

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

结论:

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

2 回答 2

2

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

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

React Native 是 Facebook 创建的一个框架,用于在 Javascript 中为不同平台构建应用程序。它的好处是每个平台的 UI 都是原生的,并且其余代码可以在它们之间共享。

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

以下是 Reactive Extensions 移植到的不同语言的列表:http ://reactivex.io

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

于 2017-08-09T06:44:10.693 回答
2

RxSwift定义:

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

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

反应原生定义:

React Native 允许您仅使用 JavaScript 构建移动应用程序。使用 React Native,您无需构建“移动 Web 应用程序”、“HTML5 应用程序”或“混合应用程序”。你构建了一个真正的移动应用程序,它与使用 Objective-C 或 Java 构建的应用程序没有区别。React Native 使用与常规 iOS 和 Android 应用程序相同的基本 UI 构建块。您只需使用 JavaScript 和 React 将这些构建块组合在一起。

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

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

如果你想在 Javascript 代码中使用 FRP(函数响应式编程)的好处,我建议你查看 RxJs:https ://github.com/Reactive-Extensions/RxJS

于 2017-08-07T21:00:52.850 回答