GitHub 上值得關注學習的 iOS 開源項目

來源:互聯網
上載者:User

標籤:http   使用   strong   os   資料   io   

特此聲明,本文轉自知乎,原文地址:http://www.zhihu.com/question/22914651,本人只是複製、粘貼。

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,就是能快速處理各種映像效果的利器!

網路

  • AFNetworking
  • JSONKit
  • Reachability
  • EGOTableViewPullRefresh
  • LoadMoreTableFooterView


網路請求首選AFNetworking,無數個項目證明,只選對的。
解析JSON資料推薦JSONKit,而且優勢相當的明顯,解析速度拉SBJson好幾條長安街。

本機存放區

  • FMDB
  • Core Data
  • SDWebImage
  • TMCache


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

後來慢慢的拋棄了它,一點也不物件導向。好吧,其實我是想說還是CoreData好用,至少你不會因為不會寫sql而沒法儲存資料。(接手過的項目竟然還有全部存NSUserDefault的,真是沒脾氣了)

看過一篇對比CoreData和FMDB查詢大資料效能的文章,FMDB贏了,不過還是推薦用CoreData。

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

年前的項目中CTO推薦了我們TMCache,tumblr團隊使用的一個快取項目(科普時間:tumblr是國外的輕部落格服務,隨後國內就出現了點點等同期產品),有時間可以去瞭解一下,目前應用的不是特別多,當然啦,對我來說。

動畫效果

  • MBProgressHUD
  • pop


上面說到的沒網了提示使用者的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

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.