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)。
固然最重要的,仍是計算機的各類基礎知識了吧,知其然,知其因此然,纔是正道~html

 

首先,學習這類開源項目的主要目的是爲了實現產品汪需求,若是不是這個目的,徹底能夠看Explore GitHub,當前最火的開源項目都在這裏,固然你須要過濾一下語言。

好了,介紹幾個但願能幫助到你。

普通的iOS開發項目基本就是網絡、本地存儲+一些狂拽炫酷的動畫,想一想看是否是?

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

網絡react

(替代 EGOTableViewPullRefresh和 LoadMoreTableFooterView

網絡請求首選AFNetworking,無數個項目證實,只選對的。
解析JSON數據推薦JSONKit,並且優點至關的明顯,解析速度拉SBJson好幾條長安街。



之前發現過好屢次因爲SBJson引發的crash,若是還在用SBJson,那請繼續。
Reachability也要用起來,時不時檢查一下網絡情況,而後配合MBProgressHUD告知用戶「親,你丫如今沒網啦,別特麼戳了。


<del> EGOTableViewPullRefresh是用來下拉刷新的啦,同時配合</del>
<del>上LoadMoreTableFooterView(加載更多)就齊活了。</del>
使用SVPullToRefresh處理刷新。

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


本地存儲ios


第一次開發中引入數據庫的時候使用過FMDB,其實蠻強大的,只不過須要寫sql語句,select * from user(從user表中篩選出所有數據)。

後來慢慢的拋棄了它,一點也不面向對象。好吧,其實我是想說仍是CoreData好用,至少你不會由於不會寫sql而無法保存數據。(接手過的項目居然還有所有存NSUserDefault的,真是沒脾氣了)

看過一篇對比CoreData和FMDB查詢大數據性能的文章,FMDB贏了,不過仍是推薦用CoreData。

至於SDWebImage,一樣也是早期使用過,和SBJson同樣,會有crash,儘管用它來緩存圖片很方便,可是咱們有更好的解決方案,一樣不推薦。

年前的項目中CTO推薦了咱們TMCache,tumblr團隊使用的一個緩存項目(科普時間:tumblr是國外的輕博客服務,隨後國內就出現了點點等同期產品),有時間能夠去了解一下,目前應用的不是特別多,固然啦,對我來講。

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


動畫效果git


上面說到的沒網了提示用戶的MBProgressHUD,用起來吧,固然還有不少轉菊花(loading)的開源項目,一樣是我使用最多的。



pop是facebook paper使用的動畫效果,開源了出來,很贊啊,不過應用到項目中的可能性很低。。。太特麼炫酷了。

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


其餘
第三方庫管理工具,CocoaPods,有時間能夠學習一下。  CocoaPods GitHub
Github repos (iOS) 這是一個收集了不少iOS開源項目的頁面,給做者贊一個。github

 

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

感謝吳輝斌、範文斌兩位開發者的分享。數據庫

相關文章
相關標籤/搜索