David Chang邀请

看了上面的答案,值得关注学习的开源项目其实还真没有几个。

首先,学习这类开源项目的主要目的是为了实现产品汪需求,如果不是这个目的,完全可以看Explore GitHub,当前最火的开源项目都在这里,当然你需要过滤一下语言。

好了,介绍几个希望能帮助到你。

普通的iOS开发项目基本就是网络、本地存储+一些狂拽炫酷的动画,想想看是不是?

-------------------- 割 ---------------------

网络

网络请求首选AFNetworking,无数个项目证明,只选对的。
解析JSON数据推荐JSONKit,而且优势相当的明显,解析速度拉SBJson好几条长安街。

GitHub 上都有哪些值得关注学习的 iOS 开源项目?插图

以前发现过好多次由于SBJson引起的crash,如果还在用SBJson,那请继续。
Reachability也要用起来,时不时检查一下网络状况,然后配合MBProgressHUD告知用户「亲,你丫现在没网啦,别特么戳了。

EGOTableViewPullRefresh是用来下拉刷新的啦,同时配合上LoadMoreTableFooterView(加载更多)就齐活了。

-------------------- 割 ---------------------

本地存储

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

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

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

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

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

-------------------- 割 ---------------------

动画效果

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

GitHub 上都有哪些值得关注学习的 iOS 开源项目?插图1

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

-------------------- 割 ---------------------

其他
第三方库管理工具,CocoaPods,有时间可以学习一下。 CocoaPods GitHub
Github repos (iOS) 这是一个收集了很多iOS开源项目的页面,给作者赞一个。

有不完善的地方欢迎指出,我会及时补充上来。

— 完 —

本文作者:范文斌

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 38 个回答,查看全部。
延伸阅读:
国内公司在github上有哪些比较出彩的开源项目?
有哪些适合学习的开源项目?

分享到