RxSwift 為什么學(xué)習(xí)RxSwift

RxSwift掃盲

作為iOS開發(fā)者,或許你沒聽說過RxSwift,但是一定聽說過函數(shù)式編程[Functional Programming]、響應(yīng)式編程[Reactive Programming]镀娶、函數(shù)響應(yīng)式編程[Functional Reactive Programming];

見名知意,RxSwift 是在 Apple 推出 Swift 后掠剑,針對 Swift 語言 ReactiveX 推出 Reactive Extensions 系列一個實現(xiàn)庫;除此之外,ReactiveX 還推出了 RxJava轨域,RxAndroid凛虽,RxPHP 等蘊含類似思想的框架庄新。

為什么要學(xué)習(xí)RxSwift?

我們知道 C 語言的面向過程,Objective-C隅茎、C++ 面向?qū)ο缶幊? Java 的 Spring 框架提出了面向切面編程的思想,學(xué)習(xí) RxSwift 不是學(xué)習(xí)如何使用第三方庫澄峰,而是學(xué)習(xí)一種編程思想--函數(shù)響應(yīng)式編程;

Why use RxSwift?

A vast majority of the code we write involves responding to external events. When a user manipulates a control, we need to write an @IBAction handler to respond. We need to observe notifications to detect when the keyboard changes position. We must provide closures to execute when URL sessions respond with data. And we use KVO to detect changes to variables. All of these various systems makes our code needlessly complex. Wouldn't it be better if there was one consistent system that handled all of our call/response code? Rx is such a system.
RxSwift is the official implementation of Reactive Extensions (aka Rx), which exist for most major languages and platforms.

翻譯:

我們編寫的絕大多數(shù)代碼涉及對外部事件的響應(yīng)。當(dāng)一個用戶操作控制辟犀,我們需要寫一個@IBAction處理器響應(yīng)俏竞。當(dāng)鍵盤改變位置時,我們需要觀察通知來檢測堂竟。當(dāng)URL會話響應(yīng)數(shù)據(jù)時魂毁,必須提供閉包來執(zhí)行。我們使用KVO的變化來檢測變量出嘹。所有這些不同的系統(tǒng)使我們的代碼不必要的復(fù)雜席楚。如果有一個一致的系統(tǒng)處理我們所有的呼叫/響應(yīng)代碼,這不是更好嗎税稼?Rx就是這樣一個系統(tǒng)烦秩。
RxSwift是官方實現(xiàn)的Reactive擴展正(又名Rx),存在的最主要的語言和平臺娶聘。

why use RxSwift?
視頻講解RxSwift使用 RxSwift 進(jìn)行響應(yīng)式編程

RxSwift的優(yōu)點

  • Composable 可組合闻镶,在設(shè)計模式中有一種模式叫做組合模式,你可以方便的用不同的組合實現(xiàn)不同的類
  • Reusable 代碼可重用丸升,原因很簡單铆农,對應(yīng)RxSwift,就是一堆Obserable
  • Declarative 響應(yīng)式的狡耻,因為狀態(tài)不可變墩剖,只有數(shù)據(jù)變化
  • Understandable and concise 簡潔,容易理解夷狰。
  • Stable 穩(wěn)定岭皂,因為RxSwift寫出的代碼,單元測試時分方便
  • Less stateful “無”狀態(tài)性沼头,因為對于響應(yīng)式編程爷绘,你的應(yīng)用程序就是一堆數(shù)據(jù)流
  • Without leaks 沒有泄漏,因為資源管理非常簡單

GitHub約一萬個Star


screen.png

響應(yīng)式編程:ReactiveCocoa vs RxSwift 選誰好?

RAC是一個已經(jīng)有著3年歷史的項目进倍,從Objective-C時期開始土至,后來從3.0開始支持了swift(可以通過bridge在OC下使用),接著就完全停止了在Objective-C上的維護(hù)猾昆。RxSwift項目的時間短一些只有幾個月(作者寫的時間是15年)陶因,但是社區(qū)似乎充滿了動力。關(guān)于RxSwift有一件重要的事是項目是按照 ReactiveX這個組織的規(guī)定下開發(fā)的垂蜗,并且所有其他語言的Rx項目也是一樣楷扬。如果學(xué)會了如何使用RxSwift解幽,再去學(xué)習(xí)Rx.Net, RxJava 或者 RxJS就是小菜一碟,只是語言語法上的差異烘苹。這真的就是learn once, apply everywhere.

摘自沒故事的卓同學(xué)

知乎上某人的回答
如果項目中有oc,就用ReactiveCocoa躲株;
要是用沒有,就用RxSwift咯

參考文章
RxSwift 介紹
一頭扎進(jìn) RxSwift
RxSwift文檔的中文翻譯
RxSwift使用教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镣衡,一起剝皮案震驚了整個濱河市徘溢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捆探,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件站粟,死亡現(xiàn)場離奇詭異黍图,居然都是意外死亡,警方通過查閱死者的電腦和手機奴烙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門助被,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人切诀,你說我怎么就攤上這事揩环。” “怎么了幅虑?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵丰滑,是天一觀的道長。 經(jīng)常有香客問我倒庵,道長褒墨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任擎宝,我火速辦了婚禮郁妈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绍申。我一直安慰自己噩咪,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布极阅。 她就那樣靜靜地躺著胃碾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涂屁。 梳的紋絲不亂的頭發(fā)上书在,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音拆又,去河邊找鬼儒旬。 笑死栏账,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的栈源。 我是一名探鬼主播挡爵,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼甚垦!你這毒婦竟也來了茶鹃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤艰亮,失蹤者是張志新(化名)和其女友劉穎闭翩,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迄埃,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡疗韵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了侄非。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕉汪。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖逞怨,靈堂內(nèi)的尸體忽然破棺而出者疤,到底是詐尸還是另有隱情,我是刑警寧澤叠赦,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布驹马,位于F島的核電站,受9級特大地震影響眯搭,放射性物質(zhì)發(fā)生泄漏窥翩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一鳞仙、第九天 我趴在偏房一處隱蔽的房頂上張望寇蚊。 院中可真熱鬧,春花似錦棍好、人聲如沸仗岸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扒怖。三九已至,卻和暖如春业稼,著一層夾襖步出監(jiān)牢的瞬間盗痒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留俯邓,地道東北人骡楼。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像稽鞭,于是被迫代替她去往敵國和親鸟整。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容