2016年GitHub 排名前 100 的安卓、iOS項目簡介(收藏)

 

排名徹底是根據 GitHub 搜索 Java 語言選擇 (Best Match) 獲得的結果, 而後過濾了跟 Android 不相關的項目, 因此排名並不具有任何官方效力, 僅供參考學習, 方便初學者快速瞭解當前一些流行的 Android 開源庫。css

項目名稱html

項目簡介java

1. react-nativereact

這個是 Facebook 在 React.js Conf 2015 大會上推出的基於 JavaScript 的開源框架 React Native, 該框架結合了 Web 應用和 Native 應用的優點, 可使用 JavaScript 來開發 iOS 和 Android 原生應用android

2.Android-Universal-Image-Loaderios

ImageLoader 是最先開源的 Android 圖片緩存庫, 強大的緩存機制, 早期被普遍 Android 應用使用, 至今仍然有不少 Android 開發者在使用git

3. RxJava程序員

RxJava 是一個在 Java VM 上使用可觀測的序列來組成異步的, 基於事件的程序的庫, 簡單來講它就是一個實現異步操做的庫, RxJava 的優勢在於一個詞 "簡潔", 使用它就算你程序邏輯有多麼複雜, 它依然可以保持簡潔易懂github

4. retrofitweb

Retrofit 是 Square 公司出品的 HTTP 請求庫, 同時是 Square 是最先開源項目之一, Retrofit 是目前 Android 最流行的 Http Client 庫之一, 目前版本是 Retrofit2.0 Beta4, 愈來愈多 Android 開發者開始使用這個請求庫了

5. okhttp

OkHttp 是 Square 公司出品的 HTTP 另外一個請求庫, Google 不推薦人們使用 HttpClient, 但是 HttpURLConnection 實在是太難用了, 所以不少人使用了 OkHttp 來解決這問題, 聽說 Android4.4 的源碼中能夠看到 HttpURLConnection 已經替換成 OkHttp 實現呢

6. SlidingMenu(不建議使用)

一個側滑菜單開源庫, 在 Google 本身原生態的側滑菜單 NavigationDrawer 沒有出現以前, 這個庫就已經被普遍使用, 但是到如今這個庫已經被放棄了

7. picasso

Picasso 是 Square 公司出品的一款圖片緩存庫, 主導者是 JakeWharton 大神

8. android-best-practices

Android 開發最佳實踐, 裏面所介紹的經驗都是來自於 Futurice 公司 Android 開發者, 介紹內容有 Android 開發規範, 架構, 佈局技巧, 以及使用一些有助於快速開發相關工具等等, 很是適合新手去學習

9. EventBus

EventBus 是 Android 事件管理總線, 使用它能夠替帶 Android BroadCast, BroadCastReceiver, Handler 在 Activity, Fragment, Service, 線程之間傳遞消息, 大大簡化了事件傳遞邏輯

10. android-async-http

Android-Async-Http 是 Android 一款老牌異步請求庫, 專門對 Android 在 Apache 的 HttpClient 基礎上構建的異步 http 鏈接, 該庫有不少特徵, 例如: 庫的 size 小, 支持文件上傳不需使用第三方庫支持, 內部使用線程池來處理併發, 等等

11. fresco

Fresco 是 FaceBook 公司出品的一款圖片緩存庫, Fresco 是一個強大的圖片加載組件, 支持加載 Gif 圖和 WebP 格式, 支持 Android2.3(API level 9) 及其以上系統, Fresco 中設計了 Image pipeline 和 Drawees 兩個模塊各施其職, 使得圖片完美加載出來, 想知道更多 image pipeline 和 Drawees 有關於它的特性, 能夠到它官方平臺看介紹

12. zxing

ZXing 是二維碼領域中名氣最大的開源項目, 它提供了多個平臺的二維碼/條形碼掃描解決方案, 擁有掃描快, 識別率高, 使用簡單等特色

13. leakcanary

LeakCanary 是 Square 公司出的一款檢測內存泄露工具, 該工具能幫助你在開發階段方便的檢測出內存泄露的問題, 使用起來很是簡單方便

14. butterknife

由 JakeWharton 大神開發出來的, ButterKnife 是 View 注入框架, 使用它爲了簡寫不少 findViewById 代碼, 同時還支持 View 的一些事件處理函數

15. MPAndroidChart

MPAndroidChart 是一款強大的 Android 圖表庫, 支持各類各樣圖表顯示, 能想到的圖表樣式這裏幾乎都有, 圖表還支持選擇, 拖放和縮放動畫效果

16. ActionBarSherlock (不建議使用)

ActionBarSherlock 這個庫是 JakeWharton 大神開發出來支持 Android3.0 如下版本的, 後來慢慢的 Google 也提供了 AppCompat 庫來支持 Android3.0 如下版本使用 ActionBar, 所以做者不建議咱們再使用這個庫了

17. androidannotations

AndroidAnnotations 是一個可以讓你快速進行 Android 開發的開源框架, 它能讓你專一於真正重要的地方, 使代碼更加精簡, 使項目更加容易維護, 它的目標就是 "Fast Android Development.Easy maintainance"

18. ViewPagerIndicator

由 JakeWharton 大神開發出來的一個 ViewPager 指示器, 使用起來簡單方便, 可高度定製, 開發出各類各樣動畫效果

19. glide

Glide 是 Google 員工的開源項目, 普遍應用於 Google 一些 App 上, 在2014年 Google I/O 大會上被推薦使用, Glide 和 Picasso 被人拿來比較研究過, Glide 與 Picasso 有 90% 的類似度, 但在一些細節上仍是有點區別的, 各有各優缺點看君選擇

20. HomeMirror

開發者是由一名程序媛 Hannah Mittelstaedt , HomeMirror 是一款 Android 鏡子應用, 目前它能實現日期, 時間, 天氣, 生日信息, 事件提醒器, 騎車天氣的推薦, 股票信息, XKCD 漫畫網站的新帖等等

21. Android-PullToRefresh(不建議使用)

一個強大的拉動刷新開源項目, 支持各類控件下拉刷新, ListView, ViewPager, WebView, ExpandableListView, GridView, ScrollView, Horizontal ScrollView, Fragment 上下左右拉動刷新, 不過如今這個項目已經中止維護更新了, 推薦使用Android-Ultra-Pull-To-Refresh

22. MaterialDesignLibrary

這個庫控件都是遵循了 Google Material Design 設計規範開發出來, 例若有: Flat Button, Rectangle Button, CheckBox, Switch, Progress bar circular indeterminate 等等

23. PhotoView

PhotoView 是 ImageView 的子類, 支持全部 ImageView 的源生行爲, 例如: 支持 Pinch 手勢自由縮放, 支持雙擊放大/還原, 支持平滑滾動等等, 而且很是方便的與 ImageLoader/Picasso 之類的網絡圖片讀取庫集成使用, 還方便的與 ViewPager 等一樣支持滑動手勢的控件集成

24. RxAndroid

由 JakeWharton 大神主導開發的項目, RxAndroid 是 RxJava 的一個針對 Android 平臺的擴展, 主要用於 Android 開發

25. material-dialogs

Material Dialogs 是一個可高度定製易用, 符合 Material Design 風格的 Dialogs, 兼容 Android API8 以上版本, 我的使用感受它徹底可替代 Android 原生那個, 比原生那個更加簡單易用

26.Android-ObservableScrollView

ObservableScrollView 是一款用於在滾動視圖中觀測滾動事件的 Android 庫, 它可以垂手可得地與 Android 5.0 Lollipop 引進的工具欄 (Toolbar) 進行交互, 還能夠幫助開發者實現擁有 Material Design 應用視覺體驗的界面外觀, 支持ListView, ScrollView, WebView, RecyclerView, GridView組件

27. Android-Bootstrap

Android 版的 Bootstrap, 利用這個庫可以實現不少 Bootstrap 樣式風格, 以前有學過 Html 的人就知道 Bootstrap 是什麼玩意啦

28. AndroidSwipeLayout

開發者是代碼家, AndroidSwipeLayout 是一個支持ListView, GridView, ViewGroup等等左右上下滑動出操做菜單, 相似 qq 消息列表向左滑動顯示出多某條信息的操做菜單

29. dagger

Dagger 是 Square 公司出品的一個針對 Android 和 Java 的快速依賴注入器, 可以有效減小你敲代碼量

30. ListViewAnimations

一個輕輕鬆鬆給 Android ListView 添加動畫效果的庫, 支持的動畫有: Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn等等, 使用它能很容易就實現帥爆的效果

31.PagerSlidingTabStrip(不建議使用)

PagerSlidingTabStrip 是一個給 Android ViewPager添加上 ViewPager 滑動指示器, 從 GitHub 上面看, 這個庫彷佛沒有人在維護了, 所以不建議使用, 可以使用SmartTabLayout 來代替

32. AndroidViewAnimations

開發者是代碼家, 這個庫實現不少很酷炫的 Android 動畫, 動畫效果是借鑑 Animate.css 來實現的, 很是酷, 並且這個使用起來也是很是簡單

33. AndroidSlidingUpPanel

AndroidSlidingUpPanel 是一個上拉麪板, 就是向上滑動的時候往上飛出一個顯示面板控件, 該庫效果在 Google Music, Google Maps and Rdio等 App 應用到

34. MaterialDrawer

MaterialDrawer 是一個相似 Google 官方 NavigationView 側滑顯示控件, 我的認爲 NavigationView 並無 MaterialDrawer 實用, 由於 NavigationView 自由度不是很好, 不少都寫死了不能夠自由定義佈局, 而 MaterialDrawer 可以實現跟 NavigationView 同樣的效果, 同時還支持自定義效果, 自由度很是高

35. Material-Animations

Material-Animations 是一個很好過渡動畫庫, 能夠應用於 Activity 與 Activity 之間的跳轉, Fragment 與 Fragment 之間的跳轉, 以及各個 View 變化先後的過渡動畫

36. MaterialViewPager

一個簡單易用 Material Design 風格的 ViewPager 庫

37. ion

ion 是一個讓 Android 的網絡操做變得極其簡單, 支持異步獲取和處理JSON, 支持 Android 文件下載 (同時支持下載進度條綁定), 支持安全連接和代理

38. stetho

Stetho是 Facebook 出品的一個強大的 Android 調試工具,使用該工具你能夠在 Chrome Developer Tools查看App的佈局, 網絡請求(僅限使用Volley, okhttp的網絡請求庫), sqlite, preference, 一切都是可視化的操做,無須本身在去使用adb, 也不須要root你的設備

39. fastjson

Fastjson 是一個 Java 語言編寫的高性能功能完善的 JSON 庫. 它採用一種「假定有序快速匹配」的算法, 把 JSON Parse的性能提高到極致, 是目前Java語言中最快的JSON庫. Fastjson接口簡單易用, 已經被普遍使用在緩存序列化, 協議交互, Web輸出, Android客戶端等多種應用場景

40. cardslib (不建議使用)

Cardslib 是早期由 Gabriele Mariotti 開發的一個爲開發者方便實現各類 Card UI 的 Android 開源代碼庫, 後來 Google 官方提供本身封裝了 CardView 在 v7 包下, 使用 Google 官方的能夠徹底替代了這個庫, 所以這個也被棄用了

41. Android-Ultra-Pull-To-Refresh

開發者是廖祜秋, 這個是一個很是強大的下拉刷新庫, 繼承 ViewGroup 能夠包含任何 View, 功能甚至比 SwipeRefreshLayout 強大, 使用起來也很是容易, 還能夠自由定製本身的 UI 樣式

42. greenDAO

greenDAO 是一個能夠幫助 Android 開發者快速將 Java 對象映射到 SQLite 數據庫的表單中的 ORM解決方案, 經過使用一個簡單的面向對象 API, 開發者能夠對 Java 對象進行存儲, 更新, 刪除和查詢, greenDAO 相對 OrmLite, AndrORM 這兩個 ORM 開源庫, 性能是最高的

43. AndroidStaggeredGrid

AndroidStaggeredGrid 是一個支持多列而且每一行的 item 大小不一, 交錯排列的 GridView, 就是實現瀑布流樣式效果, 目前該庫已經被棄用了, 開發者建議咱們使用 Google 官方控件 RecyleView 中的 StaggeredGridLayoutManager 佈局來實現瀑布流效果

44. otto

Otto 是 Square 公司出的一個事件庫 (pub/sub 模式), 用來簡化應用程序組件之間的通信, otto 修改自 Google 的 Guava 庫, 專門爲 Android 平臺進行了優化, 與上面介紹的 EventBus 相比, 兩個庫各有各的優勢, 徹底取決於咱們本身項目的需求來選擇它們哪個

45. xUtils

xUtils 是一個快速開發框架, 裏面包含 DbUtils, ViewUtils, HttpUtils, BitmapUtils 四大模塊, 可用於快速開發, 支持大文件上傳, 擁有更加靈活的 ORM, 最低兼容 Android 2.2

46. realm-java

Realm 一個輕量的 Android 版本的數據存儲庫, 比 Android 原生系統的 SQLite 更加簡潔快速對數據進行操做

47.Android-CleanArchitecture

CleanArchitecture 是一個很是典型使用 MVP 架構的項目, 你們若是尚未理解 MVP 架構的能夠看看這個項目

48. StickyListHeaders

StickyListHeaders 是一個實現可以固定在屏幕頂部的ListView Section Header庫, 就是當前 section 的 header 固定在屏幕頂部, 當滑動到其餘 section 時, 其餘 section 的 header 會代替以前的 section 的 header, 固定到屏幕頂部, 相似於 Android4.0 的手機通信錄的效果

49. AppIntro

AppIntro 是一個讓人輕鬆快速搭建漂亮酷炫的引導頁庫

50. ActiveAndroid

ActiveAndroid 是採用Rails中的 Active Record架構模式設計的適用於 Android 平臺的輕量級 ORM 架構, 幾乎能夠不用寫任何 SQL 代碼實現快速開發

51. android-volley

Volley 是谷歌官方開發團隊在 2013 年 Google I/O 大會推出的一個新的網絡通訊框架, 這個框架把 AsyncHttpClient 和 Universal-Image-Loader 的優勢集於了一身,既能夠像AsyncHttpClient 同樣很是簡單地進行 HTTP 通訊,也能夠像 Universal-Image-Loader 同樣輕鬆加載網絡上的圖片, 這個庫並非官方的, 只是託管同步在 Maven, 官方只提供的 Jar 包

52. twoway-view

TwoWayView 是簡化 RecyclerView 開發的一個庫, 能夠在其 Base LayoutManager 基礎上構建各類各樣的佈局, 該庫內置了幾個經常使用佈局 List, Grid, Staggered Grid,Spannable Grid

53. ShowcaseView

ShowcaseView 是一個很是適合用於對用戶進行第一次使用進行指導的庫,使用起來很是簡單還能夠自定義樣式

54. Calligraphy

Calligraphy 是一個用來簡化 Android 應用使用自定義字體的類庫, 該類庫會自動查找應用中的 TextView 並設置其使用的字體

55. NineOldAndroids

NineOldAndroids 由 JakeWharton 大神開發的一個向下兼容的動畫庫, 主要是使低於API 11的系統也可以使用 View 的屬性動畫, 不過如今 JakeWharton 大神已經不推薦使用該庫, 而是推薦咱們使用官方封裝在 Support 庫裏面的動畫

56. android-floating-action-button

FloatingActionButton 是一個懸浮操做按鈕, 官方在 Support Design 包下也有封裝一個相似這個庫效果的 FloatingActionButton, 值得說明的是這個庫是早在官方封裝以前就存在的, 我的感受這個庫比官方那個更加好用

57. CircleImageView

CircleImageView 是一個輕鬆幫你實現圓形效果 ImageView 圖片庫, CircleImageView 是基於 ImageView 擴展出來, 所以它擁有 ImageView 控件全部屬性, 簡單易用值得你使用的庫

58. material

Material 是將 Material Design 風格控件封裝在該庫當中, 目前封裝有Progress, Button, Switch, Slider, Spinner, Text Field, TabPageIndicator, SnackBar, Dialog, BottomSheetDialog, Dynamic theme

59. ActionBar-PullToRefresh

ActionBar-PullToRefresh 是一個下拉刷新, 下拉刷新時在 ActionBar 出現加載中提示的庫

60. FloatingActionButton

又一個懸浮操做按鈕庫, 該庫添加支持監聽滑滾動事件, 當向下滑時按鈕隱藏, 向上滑時按鈕顯示, 還有動畫效果, 支持監聽 ListView, ScrollView, RecylerView

61. AndroidAsync

AndroidAsync 是一款基於 NIO 的低端 Android 異步 socket, http (client+server), websocket 和 socket.io 網絡通訊協議類庫

62. rebound

Rebound 是 Facebook 推出的一個彈性動畫庫, 可讓動畫看起來真實天然, 像真實世界的物理運動, 帶有力的效果, 使用的參數則是 Facebook 的 origami 中使用的

63. android-common

android-common-lib 是 Trinea 大神收集的一些開發通用的緩存, 公共 View 以及一些經常使用工具類

64. RippleEffect

RippleEffect 是一個實如今 Android 任何組件點擊出現 Material Design 的波紋效果, 向下兼容到 Android API9

65. SmoothProgressBar

SmoothProgressBar 是一個幫你的 App 方便實現可定製, 平滑動畫的水平滾動進度條庫

66. recyclerview-animators

RecyclerView Animators 是一個對 Recycler 控件的 Item 添加以及刪除增長動畫效果, 動畫效果有Scale, Fade, Flip, Slide 裏面各類各樣效果

67. circular-progress-button

一個帶進度顯示的 Button, 效果和動畫作的都很是贊

68. DroidPlugin

DroidPlugin 是 360 手機助手在 Android 系統上實現了一種新的插件機制: 它能夠在無需安裝, 修改的狀況下運行APK文件, 此機制對改進大型APP的架構, 實現多團隊協做開發具備必定的好處

69. dynamic-load-apk

開發者是 singwhatiwanna(任玉剛), 是《Android 開發藝術探索》書籍的做者, 這個是做者聯合另兩位開發者嘯(時之沙)和宋思宇花了幾個月時間研究出來的 Apk 動態加載框架, 想了解更多關於這框架可到做者博客看 這篇文章 有詳細介紹

70. ExoPlayer

ExoPlayer 是Google 開發團隊開源出來的一個媒體播放庫, 比 Android 框架原生的 MediaPlayer 擁有更多優勢支持動態的自適應流 HTTP(DASH) 和 平滑流, 支持高級的HLS特性, 支持自定義和擴治你的使用場景等等

71. Crouton (不建議使用)

Crouton 是一個顯示提示信息的顯示工具類, 能夠用來代替 Toast, 默認顯示在窗口的頂部, 能夠按隊列一個接着一個顯示, 不過該庫已經被棄用, 不推薦使用

72. robospice

RoboSpice 是一個使你創建異步的長時間的運行任務異常輕鬆的一個網絡庫,在網絡請求,緩存支持,和提供開箱即用的 rest 請求方面尤其強大

73. hugo

Hugo 是 JakeWharton 大神推出的一個用於打印 Log, hugo 是基於註解被調用的, 引入相關依賴後, 在方法上加上 @DebugLog 便可輸出 Log, 使用很是簡單

74. async-http-client

AsyncHttpClient 是又一款 Android 異步請求庫, 該庫支持 WebSocket 協議, 使用起來也比較簡單易用

75. UltimateRecyclerView

UltimateRecyclerView 是一個功能強大的 RecyclerView(advanced and flexible version of ListView), 包括了下拉刷新, 加載更多, 多種動畫, 空數據提示, 拖動排序, 視差處理, 工具欄漸變, 滑動刪除, 自定義floating button, 多種刷新效果, scrollbar, sticky header, 多 layout 支持等等元素, 並且使用起來跟 RecyclerView 同樣的方便

76. MaterialEditText

MaterialEditText 是就任於 Flipboard 的員工 扔物線 開發的, 在 AppCompat v21 中也提供了 Material Design 的控件 EditText, 但是因爲比較難用, 沒有提供設置顏色的 Api, 因而就產生這個第三方庫

77. Side-Menu.Android

Side Menu 是 Yalantis 組織開源出來, 該組織因開源出一些動畫很棒的開源庫爲你們所熟知該庫是其中一個, 該庫是提供翻頁動畫效果的側邊菜單, 動畫體驗超讚的

78. drag-sort-listview

DragSortListView 是一個能夠實現拖動排序, 滑動刪除的 listview 控件, 注意的是做者對該庫已經放棄維護更新了, 不過感興趣的人能夠去研究一下

79. android-times-square

TimesSquare 是 Square 公司出品的一款顯示日曆選擇日期的控件, 可讓用戶選擇多個日期

80. GreenDroid(不建議使用)

GreenDroid 是一個封裝好的 Android UI 界面庫, 不過該庫已經被棄用了, 不建議使用

81. logger

Logger 是一個簡單, 漂亮, 強大 Android 打印日誌庫

82. acra

Acra 是一個可以讓 Android 應用自動將崩潰報告以谷歌文檔電子錶的形式進行發送的庫, 旨在當應用發生崩潰或出現錯誤行爲時, 開發者能夠獲取到相關數據

83. FadingActionBar

FadingActionBar 是一個支持 ListView, ScrollView, WebView 向下滾動時逐漸顯示 ActionBar 庫

84. AndroidImageSlider

AndroidImageSlider 庫開發者是代碼家, 該庫是爲 Banner 圖片滑動提供多種動畫效果, 還能夠輕易爲 Banner 加載網絡圖片

85. SystemBarTint

SystemBarTint 是一個實現沉浸式狀態欄庫, 適用於 Android 系統 4.4 其以上的版本

86. android-menudrawer

MenuDrawer 是一款滑出式菜單庫, 經過拖動屏幕邊緣滑出菜單, 支持屏幕上下左右劃出, 支持當前 View 處於上下層, 支持 Windows 邊緣, ListView 邊緣, ViewPager 變化劃出菜單等

87. RoundedImageView

RoundedImageView 一個快速支持圖片圓角顯示效果的庫, 該庫特色是能快速加載, 爲了提升加載速度, 該庫不用建立原始位圖的副本, 不使用 clipPath, 不使用 setXfermode 裁剪的位圖等方式來實現 ImageView 圓角, 使用也很是簡單

88. afinal

Afinal 是一個 android 的 sqlite orm 和 ioc 框架, 同時封裝了 android 中的 http 框架, 使其更加簡單易用, 使用 finalBitmap, 無需考慮 bitmap 在 android 中加載的時候 oom 的問題和快速滑動的時候圖片加載位置錯位等問題, Afinal 的宗旨是簡潔, 快速, 約定大於配置的方式, 儘可能一行代碼完成全部事情

89. android-pulltorefresh(不建議使用)

另外一個下拉刷新庫, 可是該庫已經中止維護, 所以不建議使用, 推薦使用 Android-Ultra-Pull-To-Refresh

90. Bolts-Android

Bolts 是一款底層類庫集合, 在後臺實現異步操做, 並提供接口反饋當前異步執行的程度 (能夠經過接口實現UI進度更新), 最後反饋執行的結果給UI主線程, 與AsyncTask比較: (1)使用的是無大小限制的線程池; (2)任務可組合可級聯,防止了代碼耦合

91. NumberProgressBar

NumberProgressBar 開發者是代碼家, 這是一個帶簡約性感數字顯示的進度條庫, 使用很是簡單方便

92. SwipeBackLayout

SwipeBackLayout 是一個支持屏幕上下左右滑動返回上層 Activity, 關閉當前 Activity, 相似簡書 App

93. android-gif-drawable

一個支持 gif 顯示的 view, 用 jni 實現的, 編譯生成 so 庫後直接 xml 定義 view 便可, 簡單易用

94. VitamioBundle

Vitamio 是一款 Android 與 iOS 平臺上的全能多媒體開發框架, 特色:(1) 全面支持硬件解碼與 GPU 渲染, (2) 可以流暢播放 720P 甚至 1080P 高清 MKV, FLV, MP4, MOV, TS, RMVB 等常見格式的視頻, (3) 在 Android 與 iOS 上跨平臺支持 MMS, RTSP, RTMP, HLS(m3u8)等常見的多種視頻流媒體協議, 包括點播與直播

95. SmartTabLayout

SmartTabLayout 是一個自定義的 Tab title strip, 基於 Google Samples 中的 android-SlidingTabBasic 項目, 滑動時 Indicator 可平滑過渡

96. uCrop

uCrop 是Yalantis 組織開源的圖片裁剪庫, 支持縮放, 旋轉圖片, 支持各類比例的裁剪框, 很是強大的一個圖片裁剪庫

97. android-crop

又一個圖片裁剪庫, 向下兼容到 Api 10, 我的感受這個庫並無比上面介紹的 uCrop 強大

98. HoloEveryWhere

HoloEveryWhere 是一套 Android 開發庫, 提供了全套 Holo Style 控件, 它的外觀與功能和標準 Holo Style 控件基本相同, 惟一不一樣的是它能夠運行在低於 4.0 版本的 Android 系統上

99. AVLoadingIndicatorView

AVLoadingIndicatorView 庫含有各類各樣漂亮的加載動畫效果, 使用起來也很是簡單, 和平時使用 ProgressBar 同樣

100. sweet-alert-dialog

Android 版的 SweetAlert, 清新文藝, 快意靈動的甜心彈框, 靈感來源於 JS 版SweetAlert

粗計

Square 公司佔有 7 席

項目名稱

排名

Retrofit

4

OkHttp

5

Picasso

7

LeakCanary

13

Dagger

29

Otto

44

TimesSquare

79

FaceBook 公司佔有 4 席

項目名稱

排名

React Native

1

Fresco

11

Stetho

38

Rebound

62

JakeWharton 大神佔有 5 席

項目名稱

排名

Butter Knife

14

ActionBarSherlock

16

ViewPagerIndicator

18

NineOldAndroids

55

Hugo

73

代碼家大神佔有 4 席

項目名稱

排名

AndroidSwipeLayout

28

AndroidViewAnimations

32

AndroidImageSlide

84

NumberProgressBar

91

GitHub Top 100 簡介

主要對當前 GitHub 排名前 100 的項目作一個簡單的簡介, 方便初學者快速瞭解到當前 Objective-C 在 GitHub 的狀況。

項目名稱

項目信息

1. AFNetworking

做者是 NSHipster 的博主, iOS 開發界的大神級人物, 畢業於卡內基·梅隆大學, 開源了許多牛逼的項目, 這個即是其中之一, AFNetworking 採用 NSURLConnection + NSOperation, 主要方便與服務端 API 進行數據交換, 操做簡單, 功能強大, 如今許多人都用它取代 ASIHTTPRequest

2. GPUImage

一款強大的圖片濾鏡工具, 支持自定義濾鏡, 可用來實時處理圖片和視頻流, 做者是 SonoPlot 公司的 CTO, 在很小的時候便開始接觸編程, 他在 SO上面的回答也有不少值得閱讀, GPUImage 這個項目從 2012 年開始, 使用 OpenGL 圖形程序接口編寫, 性能很是好, 如今不少 iOS 程序員都用它來實現 iOS 的模糊效果

3. SDWebImage

做者 Olivier Poitrey 是 Dailymotion 的 CTO, 擁有多個不錯的開源項目, 此項目經常使用於對從 Web 端接受到的圖片進行緩存, 是 UIImageView 的擴展, 應用起來比較簡單

4. RestKit

主要用於 iOS 上網絡通訊, 容許與 RESTful Web 服務交互, 經常使用於處理 API, 解析 JSON, 映射響應對象等操做, 簡單易用, 方便你把全部精力都放在對數據的操做上

5. ReactiveCocoa

由 GitHub 工程師們開發的一個應用於 iOS 和 OS X 開發的函數響應式編程新框架, Matt 稱其爲 "An open source project that exemplifies this brave new era for Objective-C", 也有人說它是 Cocoa 的將來, 具體可看唐巧寫的這篇文章

6. three20

由 Facebook iOS 客戶端衍生出的一款 iPhone 框架, 內置許多豐富的功能, 有豐富的界面, 對底層的操做便捷, 爲開發者省下了不少時間, 但如今已經中止了更新, 一個 PR 把代碼刪得乾乾淨淨, 不要好奇去點開 Files changed, 我點開後該頁面直接卡死, three20 當中的一位做者建立了 Nimbus, 算是 three20 的一個替代品

7. MBProgressHUD

做者 Matej Bukovinski 是一位全棧工程師, UI/UX 設計師, 此項目是一款提示框第三方庫, 幫助開發者快速應用到項目中)

8. MagicalRecord

做者是 Coursera 的 iOS 工程師, 該項目創做靈感來自於 Ruby on Rails 的 Active Record, 主要爲方便操做 CoreData 而生, 幫助清除 CoreData 引用的代碼, 協助方便 CoreData 的工做

9. FMDB

一個對 SQLite 進行封裝的庫, 使用起來方便, 簡單

10. Mantle

做者是 GitHub 的員工, 文檔寫的很清楚: Mantle makes it easy to write a simple model layer for your Cocoa or Cocoa Touch application, 主要用來將 JSON 數據模型化爲 Model 對象, 唱吧在前段時間也改用 Mantle 了.

11. FlatUIKit

收集了不少扁平化 UI 的 iOS 組件, 方便使用

12. ASIHTTPRequest

一個輕量級的 iOS 網絡通訊類庫, 基於 CFNetwork 框架開發, 但如今已經中止更新, 多數開發者改用 AFNetworking 替代)

13. FastImageCache

Path 公司出品的 iOS 庫, 做者 Mallory Paine 是蘋果前員工, 此類庫適用於在滾動時快速顯示圖像, 高速持久是其最大的特色

14. Masonry

一個輕量級的佈局框架, 同時支持 iOS 和 Mac OS X, 語法優雅, 幫助開發者快速適配不一樣分辨率的 iOS 設備

15. Shimmer

Facebook 推出的一款具備閃爍效果的第三方控件, 供它旗下一款名爲 Paper 的應用使用, 安裝使用整個過程都十分簡單

16. SVProgressHUD

又一款輕量級的 iOS 第三方控件, 用於顯示任務加載時的動畫, 很是輕便, 容易使用

17. Slate

一款窗口管理應用程序, 但在兩年前就已經中止更新了

18. JSONKit

主要用於解析 JSON, 適用於 iOS6 如下環境, 自從 iOS5 開始 Apple 官方給出了 NSJSONSerialization API, 自此你們都用官方的了

19. Nimbus

做者 Jeff 曾爲 Facebook, Google 作過很多好東西, 也是 three20 的成員之一, three20 停更後, 他創造出這個框架來代替 three20, 文檔齊全

20. CocoaLumberjack

這是 Mac 和 iOS 的一款強大的日誌框架, 配置簡單, 多線程, 提供更高級的 log 功能, 可用於代替默認的 NSLog 語句

21. Facebook SDK for iOS

Facebook 官方的 iOS SDK, 方便開發者集成 Facebook 的一些功能到本身的 iOS APP 裏面

22. AsyncDisplayKit

Facebook 開源的一款 iOS UI 框架, Paper 用的就是該框架, 另外框架還用到了 Facebook 早期開源 Pop 動畫引擎

23. Alcatraz

Alcatraz 是一款管理 Xcode 插件、模版以及顏色配置的工具, 能夠集成到 Xcode 的圖形界面中, 安裝刪除都是幾條命令的事, 很方便, 支持本身開發插件並上傳

24. ViewDeck

一款開源的 iOS 活動面板組件, 還原 Path 2.0 的側滑效果, 做者由於時間關係在兩年前中止對其更新

25. JSQMessagesViewController

優雅的 iOS 消息類庫, 經常使用於聊天應用中, 可定製性高

26. FLEX

這是 Flipboard 官方發佈的一組專門用於 iOS 開發的應用內調試工具, 開發者無需將其鏈接到 LLDB/Xcode 或其餘遠程調試服務器,支持直接在 App 中運行

27. Xctool

是 Facebook 開源的一個命令行工具,用來替代蘋果的 XcodeBuild 工具, 極大的方便了 iOS 的構建和測試, 輸出錯誤信息也比較友好, 受到許多 iOS 開發者的稱讚, 常常與其搭配使用的還有 OCUnit, Travis CIOCLint 等測試工具

28. OpenEmu

超強的遊戲模擬器, 作遊戲開發必備, 官網作得也很不錯

29. iCarousel

做者是英國 Charcoal Design 公司的創始人, 開源領域的貢獻頗爲卓著, 這個項目就是其中之一, 這是一款能夠在 iOS 上實現旋轉木馬視圖切換效果的第三方控件, 並提供多種切換效果

30. RESideMenu

做者 Roman Efimov 是雅虎的 iOS 工程師, 這個項目實現了 iOS 上的菜單側滑效果, 創意來源於 Dribbble, 該項目支持 iOS8

321 PNChart

做者周楷雯是 90 後, 秒視的創始人, 該項目是一個帶動畫效果的圖表控件, 簡約易用, 受到很多開發者喜好

31.2PonyDebugger

由 Square 公司推出的一款優秀的 iOS 應用網絡調試工具, 用戶能夠實時看到應用程序的網絡請求, 也能夠對 iOS 應用程序的核心數據棧進行遠程調試

33. JVFloatLabeledTextField

做者是 Thumb Labs 的聯合創始人, JVFloatLabeledTextField 是 UITextField 的子類, 主要實現輸入框標籤浮動效果, 創做靈感來自 Dribbble, 已出現多個移植版本

34. SWTableViewCell

UITableViewCell 的子類, 實現了左右滑動顯示信息視圖並調出按鈕

35. AwesomeMenu

做者是一位中國人, 該項目主要是使用 CoreAnimation 還原了 Path menu 的動畫效果

36. Reachability

Reachablity 是用於檢測 iOS 設備網絡環境的庫

37. VVDocumenter-Xcode

做者是王巍國內著名的 iOS 開發者, 人稱喵神, 目前在日本 LINE 公司工做, 該項目幫助開發者輕鬆的生成註釋文檔, 節省了很多工做量, 贊

38. The Physical Web

由 Chrome 團隊主導的一個項目, 意在用 URL 鏈接世界, 方便用戶接受數據, 目前尚處在實驗階段

39. NewsBlur

做者獨自一我的 Samuel Clay 作出來的一款名爲 NewsBlur 的新聞閱讀器, 不少人都稱其爲 Google Reader 的替代品, 這是它的源碼

40. Cocos2D-SpriteBuilder

一個可用於在 iOS, Mac 和 Android 上製做 2D 遊戲或其它圖形/交互應用的框架, 以前的項目名稱爲 Cocos Swift, 目前該項目在 GitHub 上更新較爲頻繁

41. TTTAttributedLabel

UILabel 的替代品, 使 iOS 上的 Label 功能更加豐富, 可支持連接植入等功能

42. CocoaAsyncSocket

一個功能強大、簡單易用的異步 socket 通信類庫, 支持 TCP 和 UDP 協議, 可用於 Mac 和 iOS 設備上, 做者 Robbie Hanson 是 Deusty 的首席軟件工程師

43. TapkuLibrary

做者是 Devin Ross, 這是在 iOS 上一款功能強大的 UI 效果類庫, 能夠實現多種酷炫的效果, 目前仍在更新中

44. Canvas

無需編碼實現牛逼的動畫效果的庫, 連設計師均可以快速上手

45. SocketRocket

Square 公司開源的一個 WebSocket 客戶端, 穩定而且易用, 作實時應用常會用到, 受廣大開發者喜好

46. ECSlidingViewController

一個視圖控制器容器, 將子視圖處理成兩層, 經過滑動來處理層的切換, 創做靈感來自 Facebook 和 Path的 App, 做者是 Cleveland 的員工

47. Json Framework

用於解析 JSON 數據的一個框架, 可是在 iOS5 以上版本大多數人都選擇使用 NSJSONSerialization 來解析 JSON, 該項目如今在 GitHub 上也幾乎沒怎麼更新了

48. Tweaks

Facebook 開源的一款工具, 旨在幫助 iOS 開發者更快的迭代應用, 方便用戶動態的調整參數, 是的, Paper 這個項目也用到了

49. realm-cocoa

Realm-Cocoa 是 Realm 公司推出一款移動端數據庫, 能夠運行在手機、平板和可穿戴設備之上, 其目標是取代 CoreData 和 SQLite 數據庫

50. BlocksKit

一個開源的與 Cocoa 緊密集合的基礎性框架

51. Appirater

一款用於提醒用戶給你的 App 打分的工具

52. KIF

Square 出品的一個開源的用戶界面測試框架, 極大的簡化了 iOS 開發者的 UI 測試流程

53. SlackTextViewController

Slack 推出的一款具備文字輸入框高度自適應, 自動輸入, 複製單元格內容等功能的解決方案

54. JazzHands

IFTTT 開源的一個簡單易用的關鍵幀基礎動畫框架, 可經過手勢、scroll views, KVO, ReactiveCocoa 等方式來控制動畫

55. Bolts-iOS

Bolts 是一個 Parse 和 Facebook 在內部使用的底層庫, 方便移動開發

56. Spectacle

一款易用的 OS X 窗口分屏操做快捷鍵工具, 這是其源代碼

57. nui

方便樣式化 iOS 應用中的 UI 元素, 可在短期內樣式化整個應用, 類 CSS 原理

58. Induction

Induction 是一款用於理解數據關係的管理工具, 這是其程序代碼

59. JSONModel

一個能迅速解析服務器返回的 Json 數據的庫, 方便數據的類型轉換

60. DTCoreText

一個開源的 iOS 富文本組件, 它能夠解析 HTML 與 CSS 並最終用 CoreText 繪製出來, 一般用於在一些須要顯示富文本的場景下代替低性能的 UIWebView

61. Popping

基於 Facebook Pop 引擎的 iOS 動畫庫, 集合了不少動畫效果

62. TSMessages

一個用來彈出顯示警告和通知的輕量級庫, 樣式豐富, 簡單易用

63. KVOController

一個簡單安全的 KVO(Key-value Observing, 鍵-值 觀察)工具, 提供簡單方便、線程安全的API, Facebook 的開源項目之一

64. MWPhotoBrowser

一款簡單的 iOS 照片瀏覽控件

65. MMDrawerController

一個輕量級, 易於使用的側邊抽屜導航 iOS 控件

66. QuickDialog

用於快速建立複雜的 iOS 表單, 自定義了 UITableViewCell, TableView 的樣式

67. SVPullToRefresh

一款只需一行代碼即可集成上拉刷新和下拉加載的組件

68. cheddar-ios

Cheddar 是一款簡單易用的日程管理軟件, 這是其早期版本的開源代碼, 該項目已中止維護

69. XVim

一款在 Xcode 上實現了 Vim 功能的插件

70. EGOTableViewPullRefresh

一款提供下拉刷新的控件, 最後更新時間是一年前

71. iOS-boilerplate

iOS 應用程序的基礎模板, 使用該模板能夠省掉許多項目初始編碼的工做, 內置很是多豐富的功能, 現已經中止維護

72. JASidePanels

一個 UIViewController 容器, 靈感來自 Facebook 和 Path 2.0 應用的菜單, 實現了左右側滑的操做

73. FormatterKit

收集了不少構思優秀的 NSFormatter 子類

74.MSDynamicsDrawerViewController

實現了具備動態彈性效果的抽屜式側邊導航欄, 效果豐富, 可定製性強

75. idev-recipes

iDevRecipes 博客的代碼, 演示如何實現一些有趣的控件, 該項目在兩年前(2013)中止了更新

76. XMPPFramework

一個基於 RFC-3920 實現, 支持多線程和線程保護, 同時通用於全部的 iOS 和 Mac OS 開發設備的通訊框架.

77. MacGap1

一款能夠將 HTML/CSS/JS 網絡應用打包成原生 Mac App 的工具

78. FXBlurView

iOS 模糊背景類庫, 能夠方便的根據底層顯示的狀態生成模糊效果

79. iOS7-Sampler

整合演示了多個具備 iOS7 新特性的的項目, 提供了很是多的例子參考

80. PromiseKit

提供強大的 iOS 開發異步功能, 是 Promises 的實現, 受到廣大開發者的追捧

81. Origami

此爲 Facebook 推出的 Quartz Composer 的一個開源插件, 由其設計團隊花費了 9 個月打造而成, 目的是爲方便設計師快速構建原型, 以零代碼完成複雜動畫的合成和測試, 堪稱神器

82. NSLogger

一款強大的日誌分析工具, 具備大窗口查看 Log, 自定義日誌等級等功能

83. KSImageNamed-Xcode

一款對 UIImage 的 imageNamed 提供自動補全功能的插件, 很是方便

84. PureLayout

一個簡單卻強大的 AutoLayout API 庫, 兼容了 Objective-C 和 Swift, 擴展了 UIView/NSView, NSArray, 和 NSLayoutConstraint

85. AppleDoc

一款 Objective-C 文檔生成工具, 生成的文檔風格保持與 Apple 官方的一致, 極大的方便了 Xcode 識別本身寫的 API 文檔, 安裝也是十分的簡單

86. iTerm2

iTerm2 被很多程序員稱讚爲 Mac 下最好用的終端, 這是其源代碼, 配合 oh-my-zsh 使用效果更佳

87. Kiwi

一個行爲驅動開發測試框架, 適用於 iOS 平臺, 旨在爲開發者提供一個簡單配置即可使用的 BDD 庫

88. terminal-notifier

一款命令行工具, 用來給 Mac OS X 用戶發送通知

89. MacDown

Mac OS X 下的一款開源的 Markdown 編輯器, 創意來自與 Mou, 使用 brew cask 便可完成安裝

90. TwUI

Twitter 開源的一個支持硬件加速的 Mac 的 UI 框架, 最後一次的更新時間是在 3 年前(2012)

91. PaperFold for iOS

實現了相似摺紙效果的視圖切換, 可從不一樣方向進行切換, 該項目已經許久未更新

92. Reader

一款開源的 iOS PDF 閱讀器, 附帶書籤, 列綱要等功能

93. WebViewJavascriptBridge

一個方便使用 Objective-C 與 JavaScript 進行通訊的第三方庫, 支持消息發送, 接收, 消息處理器的註冊與調用以及設置消息處理的回調

94. iOS8-Sampler

iOSX-Sampler 系列之一, 整合演示了多個具備 iOS8 新特性的的項目, 提供了很是多的例子參考

95. CocoaHTTPServer

一個用於 Mac OS X 或 iOS 應用的輕量級、可嵌入的HTTP 服務器框架, 方便開發者在應用中嵌入一個 HTTP 服務器

96. Kod

Mac OS X 上一款專爲程序員打造的編輯器, 這是其開源代碼, 惋惜的是做者在 2011 年中止了維護

97. TPKeyboardAvoiding

下拉鍵盤在 iOS 移動文本字段的通用解決方案, 可以自動處理鍵盤彈出後出現遮擋到文本輸入框的問題

98. MKNetworkKit

一個輕量級網絡請求框架, 徹底基於 ARC, 僅有兩個類, 具備自主操做多個網絡請求, 更加準確的顯示網絡活動指標等優勢

99. PKRevealController

一個 iOS 平臺上的視圖控制器集合, 經過展示多個視圖控制器來進行控制器之間的切換. 設置簡單, 高度靈活

00. AQGridView

一個命令行工具, 經過項目裏的 .xcdatamodel 文件, 能夠爲每一個 entity 生成兩個類, 方便 CoreData 的使用

來源: http://www.open-open.com/lib/view/open1463059022864.html

 

 

 



相關文章
相關標籤/搜索