GitHub 上值得关注学习的 iOS 开源项目

特此声明,本文转自知乎,原文地址:http://www.zhihu.com/question/22914651,本人只是复制、粘贴。html

1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub
GitHub自家的函数式响应式编程范式的Objective-C实现,名字听着很高大上,学习曲线确实也比较陡,可是绝对会改变你对iOS编程的认知,首推之。
2. Mantle:Mantle/Mantle · GitHub
又是GitHub自家的产物,轻量级建模的首选,也能够很好的配合CoreData工做。
3. AFNetworking:AFNetworking/AFNetworking · GitHub:
iOS7以前,苹果自带的网络库有多难用!matt大神的AFNetworking绝对能够解放你。使用苹果的NSURLRequest及iOS7的NSURLSession,清晰的架构,足够的文档,能够认为是第三方开源库的楷模了。
4. BlocksKit: pandamonia/BlocksKit 路 GitHub
本人至关偏心Functional Programming,Objective-C中的block绝对知足个人口味。但想用好block也不是很容易,若是对block有爱,就请使用这个库吧。
5. Nimbus:jverkoey/nimbus · GitHub
第一次关注nimbus是由于Facebook的Three20开源库。惋惜Three20库已死,主要做者跳出来,写了nimbus。
6. pop: facebook/pop · GitHub
facebook出品的paper,动画效果太好了,赶超apple的原生app一大截。pop就是paper的动画库!
7. GPUImage: BradLarson/GPUImage ยท GitHub
iOS7出来时,不少好看的效果,其实都是对图像的各类处理(好比模糊效果)。图像处理看来之后也是iOS开发的必备技能之一了。而GPUImage,就是能快速处理各类图像效果的利器!ios

网络git


网络请求首选AFNetworking,无数个项目证实,只选对的。
解析JSON数据推荐JSONKit,并且优点至关的明显,解析速度拉SBJson好几条长安街。github

本地存储sql


第一次开发中引入数据库的时候使用过FMDB,其实蛮强大的,只不过须要写sql语句,select * from user(从user表中筛选出所有数据)。

后来慢慢的抛弃了它,一点也不面向对象。好吧,其实我是想说仍是CoreData好用,至少你不会由于不会写sql而无法保存数据。(接手过的项目居然还有所有存NSUserDefault的,真是没脾气了)

看过一篇对比CoreData和FMDB查询大数据性能的文章,FMDB赢了,不过仍是推荐用CoreData。

至于SDWebImage,一样也是早期使用过,和SBJson同样,会有crash,尽管用它来缓存图片很方便,可是咱们有更好的解决方案,一样不推荐。数据库

年前的项目中CTO推荐了咱们TMCache,tumblr团队使用的一个缓存项目(科普时间:tumblr是国外的轻博客服务,随后国内就出现了点点等同期产品),有时间能够去了解一下,目前应用的不是特别多,固然啦,对我来讲。编程

动画效果json


上面说到的没网了提示用户的MBProgressHUD,用起来吧,固然还有不少转菊花(loading)的开源项目,一样是我使用最多的。缓存

pop是facebook paper使用的动画效果,开源了出来,很赞啊,不过应用到项目中的可能性很低。。。太特么炫酷了。网络

其余
第三方库管理工具,CocoaPods,有时间能够学习一下。 CocoaPods GitHub
Github repos (iOS) 这是一个收集了不少iOS开源项目的页面,给做者赞一个。

  1. nimbus: 框架,文档很齐全,好像比Three20要火一些了。 jverkoey/nimbus · GitHub
  2. AFNetworking: HTTP网络通讯库,很少说,超棒。 AFNetworking/AFNetworking · GitHub
  3. RestKit: HTTP库 用来与RESTful的服务进行交互 。 RestKit/RestKit · GitHub
  4. JSONKit: json库,传说比官方的性能要好,我本身没验证。 johnezang/JSONKit · GitHub
  5. SDWebImage: 异步加载网络图片的库,使用超级简单,功能超级强大,也没得说,值得看源代码。 rs/SDWebImage · GitHub
  6. cocos2d-iphone: 2d游戏引擎,想开发游戏能够学学。 cocos2d/cocos2d-iphone · GitHub
  7. MBProgressHUD: 很实用的HUD,和官方几乎开不出区别。 jdg/MBProgressHUD · GitHub
  8. TMCache: 缓存数据,能够缓存到memory或者disk,我的以为挺不错的。 tumblr/TMCache 路 GitHub
相关文章
相关标签/搜索