iOS上值得推荐的开源项目

GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:
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的第三方库都是在苹果的基础框架之上的产物,所以基础很重要,有时间看看WWDC的历年视频,是不错的选择。
最近还是在深入学习ReactiveCocoa,看ReactiveCocoa的源码。对响应式编程还是有很多期待的,有时间也要重温函数式编程(比如Haskell),或者把响应式编程的公开课(Coursera.org)看完。编程范式的选择可以说是相当重要的。未来是多核+并发的时代,函数式编程无疑是更好的选择。
iOS的UI也很重要,但是如果理解apple的CoreAnimation及CoreGraphics框架,大部分UI基本是没问题的。当前,iOS7的各种炫酷效果,也需要对图像的处理有一定理解。说到图形学,OpenCV是一个不错的选择,而OpenGL也是另一个不错的方向(推荐的公开课:Interactive 3D Graphics Course With Three.js & WebGL)。
当然最重要的,还是计算机的各种基础知识了吧,知其然,知其所以然,才是正道~

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

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

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

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

网络

(替代 EGOTableViewPullRefresh和 LoadMoreTableFooterView

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

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

<del> EGOTableViewPullRefresh是用来下拉刷新的啦,同时配合</del>
<del>上LoadMoreTableFooterView(加载更多)就齐活了。</del>
使用SVPullToRefresh处理刷新。

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

本地存储

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

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

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

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

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

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

动画效果

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

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

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

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

转摘自知乎:http://www.zhihu.com/question/22914651

感谢吴辉斌、范文斌两位开发者的分享。

时间: 2024-10-12 04:59:09

iOS上值得推荐的开源项目的相关文章

微信开发值得推荐的开源项目

以下向大家介绍的是微信开发项目里使用的3款基于PHP的开发框架,相信一定对你的开发工作有所帮助. 1. Wechat-PHP-SDK 微信公众平台 PHP 开发包,细化各项接口操作,支持链式调用. Github托管地址:dodgepudding/wechat-php-sdk 2. 微信公众平台 PHP SDK 简单的微信公众平台 PHP SDK ,通过调用对应的接口,使你能够轻松地开发微信 App . Github托管地址:netputer/wechat-php-sdk 3. Wechat-ph

iOS开发笔记--43个在GitHub上的优秀Swift开源项目推荐

43个在GitHub上的优秀Swift开源项目推荐 原文:http://www.php100.com/html/it/biancheng/2015/0112/8329.html [导读] 拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别.筛选,从工具.存储.网络.界面.框架到Demo以及完整应用等,满满的干 拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角

【转载】如何在 Github 上发现优秀的开源项目?

之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目,你没事的时候刷刷微博.知乎,人家没事的时候刷刷 GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大,那么如何发现优秀的开源项目呢?这篇文章我就来给大家介绍下. 1. 关注一些活跃的大牛 GitHub 主页有一个类似微博的时

(转载)如何在 Github 上发现优秀的开源项目?

转载自:传送门 之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目,你没事的时候刷刷微博.知乎,人家没事的时候刷刷 GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大,那么如何发现优秀的开源项目呢?这篇文章我就来给大家介绍下. 1. 关注一些活跃的大牛 GitHub 主页有

如何在 Github 上发现优秀的开源项目?

之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目,你没事的时候刷刷微博.知乎,人家没事的时候刷刷 GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大,那么如何发现优秀的开源项目呢?这篇文章我就来给大家介绍下. 1. 关注一些活跃的大牛 GitHub 主页有一个类似微博的时

github上值得关注的前端项目

github上值得关注的前端项目 http://microjs.com/# 该网站的资源都托管到了github,microjs.com是一个可以让你选择微型的js类库的网站,该网站里的js库都是压缩后不大于5KB的,非常实用 https://plainjs.com/(10.22更新) The Vanilla JavaScript Repository,该仓库都是用原生js写的插件和组件,很实用.里面的项目也都托管到了github 综合/资源 frontend-dev-bookmarks 一个巨大

GitHub上不错的Android开源项目(三)

收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) GitHub上不错的Android开源项目(一):http://www.cnblogs.com/haochuang/p/4676090.html GitHub上不错的Android开源项目(二):http://www.cnblogs.com/haochuang/p/4676092.html GitHub上不错的Android开源项目(三):http://www.cn

GitHub上不错的Android开源项目(二)

收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) 系列文章如下: GitHub上不错的Android开源项目(一):http://www.cnblogs.com/haochuang/p/4676090.html GitHub上不错的Android开源项目(二):http://www.cnblogs.com/haochuang/p/4676092.html GitHub上不错的Android开源项目(三):http:

GitHub 上 10 个顶级开源项目

以下文章来源于JavaGuide,作者SnailClimb 原文链接:GitHub 上 10 个顶级开源项目 正文 今天跟大家分享下,在 GitHub 上 Star 排名最高的 10 个开源项目是什么?JS 的项目占比挺大,其他基本都是文档/学习类型的仓库. 说明:数据统计于 2019-11-27. 1. freeCodeCamp Github 地址:https://github.com/freeCodeCamp/freeCodeCamp star: 307 k 介绍: 开放源码代码库和课程.与