
Swift項(xiàng)目實(shí)戰(zhàn) - support : iOS 13.2、 swift5.1
Swift Package Manager管理第三方庫(kù)依賴
Swift 5官方文檔
Swift 4.0中文文檔
Swift中文文檔
目前只貼出項(xiàng)目基礎(chǔ)框架及兩個(gè)功能頁(yè)面,但內(nèi)容結(jié)構(gòu)足以支撐完整項(xiàng)目,其余部分會(huì)在日后業(yè)余時(shí)間逐步給出,本文已貼出項(xiàng)目地址,便于想要一起學(xué)習(xí)swift的小伙伴可以下載查看。
隨著swift5的發(fā)布,Swift ABI(Application Binary Interface)趨于穩(wěn)定
什么是ABI穩(wěn)定
在運(yùn)行時(shí)Swift二進(jìn)制文件通過(guò)ABI與其他的庫(kù)與組件進(jìn)行交互,他定義了底層的細(xì)節(jié)比如函數(shù)如何調(diào)用,數(shù)據(jù)如何在內(nèi)存中呈現(xiàn),元數(shù)據(jù)在哪里,以及如何訪問(wèn)等等。
當(dāng)前已發(fā)布的Swift版本中ABI還沒(méi)穩(wěn)定,所以每一個(gè)APP,都自己包含它Swift版本所對(duì)應(yīng)的Swift Dynamic Library。Swift并沒(méi)包含在操作系統(tǒng)中,他存在于每一個(gè)APP內(nèi)部。
這意味著任何一個(gè)App,比如APP1使用Swift3.0,那么它將包含Swift 3.0 動(dòng)態(tài)庫(kù)(3.0 ABI)在它內(nèi)部,但是其他的APP比如APP2它使用Swift3.2,他將包含自己的3.2ABI.
如果Swift ABI穩(wěn)定下來(lái),Swift將包含在iOS操作系統(tǒng)里邊,它將兼容每一個(gè)Swift版本,比如APP1使用Swift5.0,但是App2使用Swift5.3,他們都將包含在iOS 內(nèi)部。
ABI穩(wěn)定的重要性
Swift包 Size將變小
語(yǔ)言將變化越小,不在那么頻繁
更小的遷移
開發(fā)者將可以預(yù)編譯好Frameworks(當(dāng)前版本frameworks在 APP編譯時(shí)編譯)
第三方庫(kù)依賴:
1、網(wǎng)絡(luò)層: 網(wǎng)絡(luò)請(qǐng)求采用了Alamofire+HandyJSON的方式
2、數(shù)據(jù)持久化:RealmSwift
3、視圖布局:SnapKit
4、網(wǎng)絡(luò)圖片處理:Kingfisher
項(xiàng)目技術(shù)應(yīng)用:
登錄模塊功能實(shí)現(xiàn):MVVM+RxSwift
Swift Package Manager管理第三方庫(kù)依賴