iOS上值得推薦的開源項目

來源:互聯網
上載者:User

標籤:http   io   ar   os   使用   sp   strong   on   資料   

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開發項目基本就是網路、本機存放區+一些狂拽炫酷的動畫,想想看是不是?

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

網路

  • AFNetworking
  • JSONKit
  • Reachability
  • SVPullToRefresh

(替代 EGOTableViewPullRefresh和 LoadMoreTableFooterView)

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



以前發現過好多次由於SBJson引起的crash,如果還在用SBJson,那請繼續。
Reachability也要用起來,時不時檢查一下網路狀況,然後配合MBProgressHUD告知使用者「親,你丫現在沒網啦,別特麼戳了。


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

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


本機存放區

  • 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開源項目的頁面,給作者贊一個。

 

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

感謝吳輝斌、範文斌兩位開發人員的分享。

 

iOS上值得推薦的開源項目

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.