標籤:
ios開發必備第三方庫引言
作為iOS開發人員,在開發App的過程中怎麼會不使用第三方庫呢?相信沒有App是不使用第三方庫的!相信自己在所做過的App中使用過哪些第三方庫呢?
網路程式庫
說到網路程式庫,這是開發必備,除非你的App玩單機。現在特別火也特別好用的網路程式庫就數AFNetworking了。也有部分同誌喜歡自己用原生的NSURLConnection來做,當然是可以的,只是要寫起來也困難,維護起來更困難。
筆者基於AFNetworking封裝了一個網路常用API類,猛點閱讀:開源HYBNetworking基於AFN封裝網路
資料庫
不是每個App都使用到資料庫的,但是如果需要使用到資料庫,我們還是需要使用第三方的。因為原來的CoreData真不好用。當前剛接觸的時候,FMDB是特別火的,當然現在仍然有很多公司在使用,包括我們公司。
這裡有一篇CSDN文章說得不錯:http://blog.csdn.net/xyz_lmn/article/details/9312837
模型與字典互轉/自動歸檔
從我開發公司的App以來,一直在尋找JSON與Model互轉的第三方庫,因為每次網路取回資料後再一個個解析取出來真的很麻煩很累。這裡自然極力推薦的庫就是MJExtension。
這個庫簡單易用,直接看一看文檔就明白怎麼用了:https://github.com/CoderMJLee/MJExtension
當然,後來出了個YYModel,筆者研究了一下,其實與MJExtension差不多,只是YYModel大部分都使用runtime最底層API,而MJExtension更多的是OC文法。在效能上,據說YYModel要比MJExtension要高,當然從原理上來分析應該會高一些。
想試試YYModel?試試吧:YYModel
圖片下載
現在很多公司所開發的App中使用了SDWebImage,但是個人覺得使用AFNetworking這套網路程式庫就可以了,這套庫已經提供了對圖片的下載和高效緩衝。如果喜歡使用SDWebImage,可查看一下原始碼及使用文檔:
著名SDWebImage
事實上,本人現在直接使用AFNetworking的圖片下載及緩衝功能,無須再添加一個三方庫。
提示HUD
說到這個提示HUD,很多人都非常喜歡MBProgressHUD,其:MBProggressHUD
但是,本人不太喜歡它,因為使用起來很麻煩。本人更推薦的是SVProgressHUD,以單例形式存活,任何時候直接調用,而且我們需要調用的api都是類方法,直接調用即可。其為:SVProgressHUD
自動布局
對於開發是使用xib/storybard的同學可跳過。這裡介紹的是純程式碼的自動布局,原生的代碼自動布局是相當困難的,寫起來很麻煩而且也很難記住。因此,我們需要一個第三方庫對原生的約束api封裝成簡單易用的介面給我們使用。
這裡本人極力推薦Masonry,其為:著名自動布局Masonry
擴充了自動計算行高:開源HYBMasonryAutoCellHeight
如果是swift開發,推薦SnapKit,另外筆者基於SnapKit擴充了一個自動計算行高:HYBSnapkitAutoCellHeight開源自動算行高Swift版
不會用Masonry?看看筆者的14篇教程吧:Masonry純程式碼自動布局實戰
側滑菜單
對於使用側滑風格的app,可使用MMDrawerController這套庫,幾行代碼就可以實現了。其為:https://github.com/mutualmobile/MMDrawerController
CoverFlow效果
我想最有名的CoverFlow效果的第三方庫就是iCarousel了。其:https://github.com/nicklockwood/iCarousel
日誌
開發App怎麼能沒有日誌呢?沒有日誌,如何去查看記錄?現在特別火的日誌庫是CocoaLumberjack,其:https://github.com/CocoaLumberjack/CocoaLumberjack
重新整理
到目前為止,很多公司的App都採用了MJRefresh這個快速整合下拉重新整理和上拉載入更多功能的庫。這個庫還支援自訂樣式,因此可根據需求定製風格。其:https://github.com/CoderMJLee/MJRefresh
模糊效果
iOS7以後就有UIVisualEffect這個控制項支援模糊效果。如果要支援iOS5.0以上版本,那就需要第三方庫來支援了。支援靜態、動態模糊效果,繼承與UIView的模糊特效的FXBlurView就能滿足我們的需求。其:https://github.com/nicklockwood/FXBlurView
富文本
文字視圖開源組件,是UILabel的替代元件,可以簡單的方式展現渲染的屬性字串。另外,還支援連結,不管是手動還是使用UIDataDetectorTypes自動把電話號碼、事件、地址以及其他資訊變成連結。其:https://github.com/mattt/TTTAttributedLabel
TabBarController
RDVTabBarController可以方便設定底部菜單的文字圖片,點擊效果,小紅點提示等等,但是沒有原生的UITabBar過渡效果,因此筆者不是很喜歡。其:https://github.com/robbdimitrov/RDVTabBarController
福利
最近看到這有一篇文章收集了很全的第三方庫,上邊所推薦都是本人所用。點這裡看更多第三方庫:http://www.52codes.net/article/465.html
ios開發第三方庫