2017-08-07 84 views
1

我使用RxSwift作爲其他人開始的項目的一部分。React Native,Rx.Net和RxSwift:共同性

想要了解更多關於ReactiveX的理論,我碰到了React NativeRx.Net

我想確保我的理解正確如下:

  • 陣營本地是一個Java腳本庫,允許開發者構建原生用戶界面。該庫將Javascript代碼轉換爲本地移動代碼。
  • RxSwift旨在實現Rx.Net的概念,但不同的是,並沒有直接聯繫陣營本地。它們的共同之處在於它們都實現了概念Reactive programming因此爲什麼共同使用單詞「React」/「Reactive」在他們的名字中。這就是共同點應該結束的地方,對吧?

結論:

  • 由於兩個RxSwift和應對本土緊密連接到用戶界面的實現是不可能一起使用。正確?

回答

0

RxSwift定義:

RxSwift是用於通過使用觀察序列和功能的風格的操作符,從而允許 用於經由調度的參數執行構成異步和基於事件的代碼 庫。

因此,基本上RxSwift允許您開發異步應用程序,通過順序處理來響應新數據。

陣營本地定義:

陣營原住民,您只需使用的JavaScript構建移動應用程序。 使用React Native,您不會構建「移動網絡應用程序」,「HTML5應用程序」, 或「混合應用程序」。您構建了一個真正的移動應用程序,它與使用Objective-C或Java構建的應用程序無法區分。 React 本機使用與普通iOS和 Android應用程序相同的基本UI構建塊。您只需使用 JavaScript和React將這些構建塊組合在一起即可。

React Native允許您通過在JavaScript和Objective-C(iOS)或Java(Android)中編寫的代碼之間創建橋樑來開發原生應用程序。

考慮到這一點,有可能猜測您將不得不創建一個橋將本地組件嵌入到React Native中,反之亦然。在這種情況下,使用React Native和RxSwift幾乎不可能,因爲您可能必須創建自己的「橋」庫。

如果你想使用玻璃鋼的使用Javascript代碼的好處(功能無編程),我建議你檢查出RxJs:https://github.com/Reactive-Extensions/RxJS

0

RxSwift是由微軟創建無擴展的實現。一個基本上允許你使用Observable的庫,它們是包含所有未來值的對象,而不是包含特定值的對象。其他對象則可以轉換和訂閱這些值。

這對於處理異步編程非常有用。

React Native是Facebook創建的一個框架,用於在Javascript中爲不同平臺構建應用程序。關於它的好處是,用戶界面對於每個平臺都是原生的,其餘代碼可以在它們之間共享。

所以,兩者是完全不同的東西,但是你可以一起使用它們,只有React Native是Javascript,你必須改用RxJS。

這裏的無擴展被移植到不同語言的列表:http://reactivex.io

順便說一句,如果你要的是剛學RxSwift什麼,讀這本書:https://store.raywenderlich.com/products/rxswift

相關問題