在一个完整的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