iOS APP高效开发的弹药库——最新必备开源库 一


APP开发的确就是发发请求、搭搭界面,但是,如何做的快,如何做的好,那就是要考较功力的了。

下面这些开源库,可以说,是iOS app开发过程中的脚手架,用好了,app 开发过程那是既快又好还省,这才是APP开发的弹药库:


网络篇:


为啥要用第三方开源库?因为系统API废话太多,用起来太啰嗦。


HTTP请求看这些:


AFNetWorking: 个人认为是首选,轻量、易用,开发者也在很积极的维护,拥护者也多,新的项目,就直接用它吧! https://github.com/AFNetworking/AFNetworking 

MKNetworkKit: 用的人也不少,也是非常轻量级,使用起来比较简单。https://github.com/MugunthKumar/MKNetworkKit 

ASIHttpRequest:  一句话,过时了。开发者已经很久没有维护了,而且用起来有点重。


Socket通信看这个:


CocoaAsyncSocket: 如果要使用socket进行通讯,那么肯定就用他了,支持TCP和UDP,支持GCD,支持OC接口,封装的非常不错。 https://github.com/robbiehanson/CocoaAsyncSocket


网络相关工具看这个:


Reachability: 用来判断和监听网络状态和变化,非常好的辅助工具库,必用。 https://github.com/tonymillion/Reachability



JSON解析篇:


如果是支持iOS 5以上的系统,那么就直接使用系统提供的NSJSONSerialization吧,性能好,官方提供,可靠!

如果要用第三方的,那就选择JSONKit吧,性能好,源码就2文件,看着都舒服。

SBJson就千万别再用了,性能差,维护的也不好。


UI框架篇:


提升到框架层面,一般都比较重了,选择的时候需要慎重了,因为这个对于你的APP未必是必须的。


AsyncDisplayKit:强烈推荐一试。 Facebook刚刚开源发布的UI框架,被用于Facebook自家的应用Paper中。这个框架能给你带来的核心收益,是能够提高UI的流畅性,降低UI的响应时间。这是通过对UIKIt的进一步的异步封装来实现的,AsyncDisplayKit的UI元素都是线程安全的,可以在并行异步的进行操作,这样就可以让图像解码等耗时操作移出UI线程,为UI主线程减负。值得一提的是,AsyncDisplayKit的组件封装,与UIKit很类似,可以直接进行替换,接入门槛相对比较低。https://github.com/facebook/AsyncDisplayKit


ReactiveCocoa:如果你对响应式编程模式有兴趣,可以尝试一下这个框架,毕竟一般APP,大部分时间是在等待事件发生,等待用户操作或者网络请求返回,所以这种事件驱动模式,还是很适合的。https://github.com/ReactiveCocoa/ReactiveCocoa


bee Framework:国产mvc框架,将许多核心逻辑注入到了NSObject基类里,同样也是采用了响应式的设计。 https://github.com/gavinkwoe/BeeFramework


nimBus:Three20的作者之一开发的一套轻型框架,很多思路和Three20相似,但是轻量很多,支持命名空间,内部耦合性没那么高,很多人把他作为Three20的替代品。


Three20: 曾经的辉煌,Facebook自己也早已不维护,不要再使用了。


UI控件篇:


SDWebImage : 网络图片加载库,可以自动的管理图片的下载、缓存、处理、展示,就像使用本地图片一样简单的使用网络图片,非常好用,神器! https://github.com/rs/SDWebImage

MBProgressHUD: 优雅的进度显示效果,提供了很多动画效果,常备利器。 https://github.com/jdg/MBProgressHUD 

SVProgressHUD: 和MBProgressHUD的功能效果类似,不过使用他不需要使用协议,也不需要声明实例,直接类方法调用即可。 https://github.com/samvermette/SVProgressHUD

MWPhotoBrowser: 一个完整的图片浏览器组件,效果和iOS自带的相片app 差不多,能滑动切换图片,点击隐藏导航条,缩放,分享,复制等。既可以管理本地图片,也可以查看网络图片,并且自带缓存策略。  https://github.com/mwaterfall/MWPhotoBrowser

HPGrowingTextview:增强的文本输入框,实现了增加多行文本和减少文本时输入框的伸缩和滚动效果。

AKSegmentedControl:可自定义外观的 Segmented Control, 包括背景颜色、segment上显示图片或者文字、按键模式等。 https://github.com/alikaragoz/AKSegmentedControl


EGOTableViewPullRefresh: 解决下拉刷新和上提加载更多的交互效果。 https://github.com/enormego/EGOTableViewPullRefresh



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值