在一個完整的app開發過程中不使用任何第三方組件是不可想象的,因為需要考慮的東西實在太多了,除非你的app只有一兩個界面。所以不重復造輪子,是我們能夠快速集成開發的原因,而且開源社區中有太多優秀的項目,不僅僅是使用,更值得學習。
以下匯總了一些在我的app開發中所使用的第三方組件,至少這些組件在我的app中驗證并使用過,作為備忘:
開發語言:objective-c
網絡&數據
AFNetworking 常用的網絡庫
https://github.com/AFNetworking/AFNetworking
FMDB SQLite的第三方庫
https://github.com/ccgus/fmdb
PINCache kv的數據緩存類庫
https://github.com/pinterest/PINCache
UICKeyChainStore Keychain操作庫
https://github.com/kishikawakatsumi/UICKeyChainStore
MIHCrypto 數據加密庫
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 首次啟動引導組件
https://github.com/MatthewYork/MYBlurIntroductionView
SevenSwitch 可自定義開關組件
https://github.com/bvogelzang/SevenSwitch
VPImageCropper 頭像上傳/編輯組件
https://github.com/windshg/VPImageCropper
其他
JGMethodSwizzler 方法調配組件
https://github.com/JonasGessner/JGMethodSwizzler
Reveal UI調試組件
http://revealapp.com
UMessage 消息推送SDK
http://dev.umeng.com/push/ios/integration
UMAnalytics app統計SDK
http://dev.umeng.com/analytics/ios-doc/integration
ShareSDK 社交分享SDK
http://wiki.mob.com/簡潔版快速集成-2/
第三方庫固然能夠加快開發的速度,但也有弊端,一是第三方庫往往體積比較大,因為它考慮的需求更廣,二是修改困難,畢竟不熟悉第三方庫的代碼(慎用小型第三方組件,可能有坑),三是第三方庫可能引入沖突。所以在選擇第三方庫的時候,先看看第三方庫的所有者,知名的開源商或作者或公司開源的為佳,基本可以保障第三方庫的質量和文檔完整;再看看迭代的版本,更新過幾個版本而且是近一年有更新的為佳,畢竟ios也不斷升級,可以保障兼容和bug修復,對于只有一個版本而且近一年都沒更新的,果斷棄用吧,一個不活躍的開源組件很大可能是個坑。
查找第三方組件常用的兩個工具,第一個是 pod search(使用cocoapods 做依賴工具),第二個是 github。
由于個性化的需求或擴展的需要,也必不可少需要自己編寫一些組件,這篇文里是我自己開發過程中所寫的一些組件:
DYTRouterManager
DYTFocusImagesView
DYTPopupViewManager
DYTTabViewController
DYTPullUpAndDownView
...
(組件github待更新)
2015/08