本書圍繞ReactiveCocoa詳細(xì)講解了函數(shù)響應(yīng)型編程在iOS平臺上的具體實踐。 本書作者:kevinHM 本書來源:https://www.gitbook.com/book/kevinhm/functionalreactiveprogrammingonios/details
自從Github團隊2013年開源出ReactiveCocoa這個著名的第三方庫之后,各方反應(yīng)強烈,AFNetworking的作者Mattt Thompson更是高呼這是一場革命,譯者kevinHM一直都很關(guān)注業(yè)內(nèi)最新的技術(shù)動態(tài)及各種技術(shù)信息,這個框架出來之后也找了些資料研究,但都比較淺,譯者表示自己沒有研究好這部分內(nèi)容也不敢貿(mào)然在商業(yè)級App里嘗試,而微博上、QQ群里各種社交媒體上,你總能聽到程序員們偶然會討論MVVM與RAC等,沒有多的書面資 料可以參考,當(dāng)看到Ash Furrow的 FunctionalReactiveProgrammingOniOS 時,譯者覺得這本書介紹ReactiveCocoa時比起其他我能找到的資料來說算是較好的了(他本人開源的項目” FunctionalReactivePixels”意義一樣大),就想著把他翻譯出來給大家參考,同時自己也能從中學(xué)習(xí)。
所以這本書的目的就是為了普及ReactiveCocoa,讓更多的開發(fā)者能夠接受ReactiveCocoa這種方式,讓大家更優(yōu)雅地在iOS中實現(xiàn)MVVM架構(gòu)。
ReactiveCocoa(簡稱為RAC),RAC 是一個 iOS 中的函數(shù)式響應(yīng)式編程框架,是Github 在開發(fā) GitHub for Mac 過程中的一個副產(chǎn)品。Cocoa是蘋果整套框架的簡稱,因此很多蘋果框架喜歡以Cocoa結(jié)尾。RAC提供了一系列用來組合和轉(zhuǎn)換值流的 API,為事件的處理定義了一個標(biāo)準(zhǔn)接口,大大方便了開發(fā)者去管理各種事件的處理,結(jié)果就是開發(fā)者能從關(guān)注業(yè)務(wù)實現(xiàn)的細(xì)節(jié)上脫身,轉(zhuǎn)變?yōu)殚_發(fā)者只需要關(guān)心業(yè)務(wù)本身就好了
ReactiveCocoa結(jié)合了幾種編程風(fēng)格:
函數(shù)式編程(Functional Programming):使用高階函數(shù),例如函數(shù)用其他函數(shù)作為參數(shù)。
響應(yīng)式編程(Reactive Programming):關(guān)注于數(shù)據(jù)流和變化傳播。
所以,你可能聽說過ReactiveCocoa被描述為函數(shù)響應(yīng)式編程(FRP)框架。
以后使用RAC解決問題,就不需要考慮調(diào)用順序,直接考慮結(jié)果,把每一次操作都寫成一系列嵌套的方法中,使代碼高聚合,方便管理。
W3Cschool http://hgci.cn/ios_functional_reactive_program
本書譯者為: kevinHM 翻譯自 https://leanpub.com/iosfrp
經(jīng)由譯者授權(quán)轉(zhuǎn)載至W3Cschool.cn