iOS的函數(shù)響應(yīng)型編程


手冊簡介

本書圍繞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簡介


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的作用

  • 在我們iOS開發(fā)過程中,當(dāng)某些事件響應(yīng)的時候,需要處理某些業(yè)務(wù)邏輯,這些事件都用不同的方式來處理。
  • 比如按鈕的點擊使用action,ScrollView滾動使用delegate,屬性值改變使用KVO等系統(tǒng)提供的方式。
  • 其實這些事件,都可以通過RAC處理
  • ReactiveCocoa為事件提供了很多處理方法,而且利用RAC處理事件很方便,可以把要處理的事情,和監(jiān)聽的事情的代碼放在一起,這樣非常方便我們管理,就不需要跳到對應(yīng)的方法里。非常符合我們開發(fā)中高聚合,低耦合的思想。

ReactiveCocoa編程思想


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://m.hgci.cn/ios_functional_reactive_program

版權(quán)信息


本書譯者為: kevinHM 翻譯自 https://leanpub.com/iosfrp

經(jīng)由譯者授權(quán)轉(zhuǎn)載至W3Cschool.cn


在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號