在一個完整的app開發(fā)過程中不使用任何第三方組件是不可想象的,因為需要考慮的東西實(shí)在太多了塘幅,除非你的app只有一兩個界面患雏。所以不重復(fù)造輪子掀亥,是我們能夠快速集成開發(fā)的原因敌土,而且開源社區(qū)中有太多優(yōu)秀的項目,不僅僅是使用揍移,更值得學(xué)習(xí)只损。
以下匯總了一些在我的app開發(fā)中所使用的第三方組件,至少這些組件在我的app中驗證并使用過包各,作為備忘:
開發(fā)語言:objective-c
網(wǎng)絡(luò)&數(shù)據(jù)
AFNetworking 常用的網(wǎng)絡(luò)庫
https://github.com/AFNetworking/AFNetworking
FMDB SQLite的第三方庫
https://github.com/ccgus/fmdb
PINCache kv的數(shù)據(jù)緩存類庫
https://github.com/pinterest/PINCache
UICKeyChainStore Keychain操作庫
https://github.com/kishikawakatsumi/UICKeyChainStore
MIHCrypto 數(shù)據(jù)加密庫
https://github.com/hohl/MIHCrypto
Base64 Base64庫
https://github.com/ekscrypto/Base64
視圖&動畫
VCTransitionsLibrary 視圖切換庫
https://github.com/ColinEberhardt/VCTransitionsLibrary
MBProgressHUD 提示框第三方庫
https://github.com/jdg/MBProgressHUD
SDWebImage 圖片加載/緩存庫
https://github.com/rs/SDWebImage
DTCoreText Html排版庫
https://github.com/Cocoanetics/DTCoreText
MYBlurIntroductionView 首次啟動引導(dǎo)組件
https://github.com/MatthewYork/MYBlurIntroductionView
SevenSwitch 可自定義開關(guān)組件
https://github.com/bvogelzang/SevenSwitch
VPImageCropper 頭像上傳/編輯組件
https://github.com/windshg/VPImageCropper
其他
JGMethodSwizzler 方法調(diào)配組件
https://github.com/JonasGessner/JGMethodSwizzler
Reveal UI調(diào)試組件
http://revealapp.com
UMessage 消息推送SDK
http://dev.umeng.com/push/ios/integration
UMAnalytics app統(tǒng)計SDK
http://dev.umeng.com/analytics/ios-doc/integration
ShareSDK 社交分享SDK
http://wiki.mob.com/簡潔版快速集成-2/
第三方庫固然能夠加快開發(fā)的速度对途,但也有弊端,一是第三方庫往往體積比較大髓棋,因為它考慮的需求更廣实檀,二是修改困難,畢竟不熟悉第三方庫的代碼(慎用小型第三方組件按声,可能有坑)膳犹,三是第三方庫可能引入沖突。所以在選擇第三方庫的時候签则,先看看第三方庫的所有者须床,知名的開源商或作者或公司開源的為佳,基本可以保障第三方庫的質(zhì)量和文檔完整渐裂;再看看迭代的版本豺旬,更新過幾個版本而且是近一年有更新的為佳,畢竟ios也不斷升級柒凉,可以保障兼容和bug修復(fù)族阅,對于只有一個版本而且近一年都沒更新的,果斷棄用吧膝捞,一個不活躍的開源組件很大可能是個坑坦刀。
查找第三方組件常用的兩個工具,第一個是 pod search(使用cocoapods 做依賴工具)蔬咬,第二個是 github鲤遥。
由于個性化的需求或擴(kuò)展的需要,也必不可少需要自己編寫一些組件林艘,這篇文里是我自己開發(fā)過程中所寫的一些組件:
DYTRouterManager
DYTFocusImagesView
DYTPopupViewManager
DYTTabViewController
DYTPullUpAndDownView
...
(組件github待更新)
2015/08