1. 程式人生 > >精良的第三方 比較全面的

精良的第三方 比較全面的

提取 cocoa mvvm 開源框架 indicator 保持 富文本 each .net

GitHub第三方資源庫整理(OC篇)

隨著GitHub star 的項目越來越多,而且之前也沒有整理,所以找起來特別麻煩,於是就有了這篇文章,一是方便我自己查找,都作了分類,而且都作了標註,對應找起來容易得多;二是分享出來,資源共享。這篇文章會持續更新,有好的GitHub項目就會加進來,並且會把更新說明寫在文末。

更直觀更方便的內容形式,請訪問本文的GitBook地址:GitHub第三方資源庫整理(OC篇)。

網絡

AFNetworking:mattt大神的網絡事件處理框架。

XMPPFramework:XMPP,主要用於即時通訊。

CocoaAsyncSocket:異步socket

請求框架。

Reachability:用來檢查應用當前的網絡連接狀況,是蘋果Reachability類的直接替代品,支持ARC,支持block,使用GCD方法來通知網絡接口的變化。

SocketRocket:WebSocket協議是一種網絡協議,它的Web設計實現了瀏覽器與服務器的雙向通訊。通過使用WebSockets,你可以重復使用現有的工具建立網頁,就像大多數移動應用程序重復使用他們API中的HTTP協議一樣。

CocoaSPDY:Twitter出品的一款關於HTTP請求的框架。

OHHTTPStubs:測試篡改你app的網絡數據響應時間響應代碼和頭文件,非常容易就摧毀你的網絡請求。

綜合

ReactiveCocoa:簡稱RAC,函數響應式編程框架。

YYKit:ibireme寫的一款綜合框架,包含YYModel、YYCache、YYImage、YYWebImage、YYText、YYKeyboardManager、YYDispatchQueuePool、YYAsyncLayer、YYCategories。

AsyncDisplayKit:facebook出品,被應用於Paper,是一款能夠保持界面流暢性的iOS開源框架,即使是最復雜的用戶界面,也可以讓其流暢運行並快速響應。

RestKit:旨在與RESTful web服務的交互變得更簡單快速,具有強大的特性:

  • 簡單高層次的HTTP請求/響應系統;
  • 框架支持切換服務器以及環境;
  • Core Data支持;
  • 對象映射系統;
  • 生成數據庫文件;
  • 可插入解析層。

NewsBlur:是一個個人的新聞閱讀器,將人們聚在一起談論世界。

動畫

動畫引擎

POP:facebook出品,動畫引擎(推薦)。

Canvas:動畫引擎,最喜歡的就是它關聯Runtime Attribute了,可以在SB添加KeyPath直接加動畫。

JazzHands:作用於UIKitkeyframe-based動畫框架,具有良好的表現。

動畫引擎使用

Popping:使用pop動畫引擎做的動畫合集。

AGGeometryKit-POP:結合Pop的一個動畫框架,帶有力學動畫效果。

FastAnimationWithPOP:SB快速導入動畫,以前用過的,不過推薦使用Canvas。

轉場動畫

VCTransitionsLibrary:控制器之間的轉場動畫。

FDFullscreenPopGesture:全屏POP的手勢動畫。

VVBlurPresentation:王巍寫的一款簡單過渡到另外一個控制器,但是保持原來控制器的視圖並模糊化,這對於一些提示比較有用。

LNPopupController:彈窗效果present到另外一個控制器,就像Apple Musicapp和Podcastsapp裏的效果一樣。

KMNavigationBarTransition:不需要寫任何代碼就可實現對不同風格導航的轉場動畫管理。

AnimatedTransitionGallery:許多種不同的轉場動畫風格。

其他動畫

RGCardViewLayout:City Guide App的卡片滑動動畫效果。

iCarousel:卡片樣式的旋轉木馬動畫效果。

BCGenieEffect:實現了在Mac OS 中最小化或最大化窗口時的過渡效果。

自動布局

Masonry:自動布局,目前在用(推薦)。

PureLayout:自動布局,OCSwift皆可用。

SDAutoLayout:自動布局代碼精簡化,支持CellTableView高度自適應。

OAStackView:UIStackView iOS9之後的控件,對於自動布局這塊非常方便,OAStackView就是兼容iOS7+系統的框架。

FDStackView:百度知道團隊出品,兼容UIStackView iOS6+系統,FDStackView Part1、FDStackView Part2、FDStackView Part3這三篇文章是作者分析FDStackView的設計實現過程(推薦)。

鍵盤交互管理

YYKeyboardManager:YYKit的組成部分,針對鍵盤管理(推薦)。

TPKeyboardAvoiding:鍵盤交互事件。

IQKeyboardManager:鍵盤交互管理。

加載指示、HUD

MBProgressHUD:加載進程指示框架,都知道。

SVProgressHUD:輕量的HUD

NJKWebViewProgress:顯示webView交互進程的控件。

Shimmer:facebook出品,給APP的任何view添加shimmering動畫效果,這個框架最初就是作為Paper加載動畫的。

PQFCustomLoaders:很有趣的自定義加載器。

DGActivityIndicatorView:很nice的加載指示器,有32種不要的加載指示風格。

數據處理

數據庫

realm-cocoa:Realm是Core Data和SQLite的代替品,操作移動數據庫更加直接、快捷、耐用。

MagicalRecord:對於使用Core Data做了非常好的封裝,用Core Data值得一試。

fmdb:對SQLite進行了封裝。

存儲

YTKKeyValueStore:唐巧寫的Key-Value方式存儲數據。

UICKeyChainStore:對Keychain的封裝,讓你使用Keychain APIsNSUserDefaults一樣簡單。

轉換

MJExtension:李明傑寫的一款JSONModel的框架。

Mantle:一款model層的框架,為什麽唱吧iOS 6.0選擇了Mantle。

JSONModel:一個解析服務器返回的Json數據,然後快速創建JSON 數據模型。同Mantle類似,不過JSONModel使用較為簡單,但Mantle似乎更為強大,看個人選擇。

Underscore.m:一個小型實用工具庫,可以幫助開發者更方便地處理Objective-C中常見的數據結構

解析

JSONKit:主要用於JSON數據處理解析。

Ono:mattt大神寫的一款關於處理XMLHTML的框
架。

hpple:解析XML/HTML的框架。

Categories

iOS-Categories:非常有用的objective-c Categories,涉及到FoundationUIKitCoreDataQuartCoreCoreLocationMapKit等。

octave:UI 操作音效,UIControl的category。

LTNavigationBar:動態改變UINavigationBar的顯示狀態,類似手機QQ中QQ空間的導航效果。

FlatUIKit:扁平化的UI視圖集合。

UIKit

UI視圖

JSQMessagesViewController:一款優雅的關於聊天信息的UI框架。

SDCycleScrollView:無限循環圖片輪播器。

CoreLock:高仿支付寶手勢密碼。

日歷視圖

JTCalendar:自定義的日歷視圖。

GLCalendarView:同上,一款日歷視圖。

圖表、繪圖

PNChart:周凱文寫的一款很好的圖表框架。

core-plot:也是一款2D的繪圖框架。

引導頁、狀態頁

Onboard:只需少量代碼就可創建非常nice的引導頁。

DZNEmptyDataSet:沒有請求到網絡數據或者請求失敗的視圖展示,就好像web的404頁面一樣。

View

CRPixellatedView:UIView的子類,做像素化的動畫處理。

SwipeView:水平分頁滑動視圖。

Alert、Sheet

MMPopupView:高度可定制的alert、sheet。

TSMessages:提示信息、通知信息控件。

RKDropdownAlert:基於facebook的app Slingshot的alert,靈感取自於SVProgressHUD的一個提示框架。

SCLAlertView:具有非常贊的動畫的Alert View

CMPopTipView:是一個開源的泡泡風格文本提示框控件。

TableView

FXForms:非常容易創建table數據形式,用於設置頁面非常理想。

VVeboTableViewDemo:VVebo剝離的TableView繪制,對TableView進行流暢度優化。

RETableViewManager:數據驅動tableView進行內容管理。

TextView

SlackTextViewController:文本輸入視圖,對於消息編輯非常有用,類似於微信發送消息的那個輸入框。

Menu

RESideMenu:左右側視圖視差效果menu,不過很久沒有commit了。

AwesomeMenu:Path2.0裏面的menu效果。

Button

VBFPopFlatButton:使用pop做的不同狀態具有平緩過渡動畫效果的扁平化button。

BEMCheckBox:一款可自定義的具有非常nice動畫效果的checkbox

TextField

JVFloatLabeledTextField:編輯就會出現浮動的提示label,效果不錯。

Label

TTTAttributedLabel

RQShineLabel:類似於Secret的文字閃爍動畫。

Font、Color

FontAwesomeKit:字體框架,支持Font-AwesomeFoundation iconsZocialionicons

Chameleon:類似顏色板一樣,具有很多超贊的顏色可供直接使用。

Colours:和Chameleon功能類似。

DKNightVersion:對顏色的管理,融合了白天和黑夜的主題效果。

Cell

SWTableViewCell:滑動Cell的內容視圖,出現功能按鈕。(推薦)

MGSwipeTableCell:功能同上。

UITableView-FDTemplateLayoutCell:sunnyxx寫的,自動計算cell動態高度。

CoreText、AttributeText

DTCoreText:允許使用HTML代碼的Core Text框架。

YYText:非常強大的富文本顯示和編輯框架。(推薦)

Image

GPUImage:GPUImage 是ios下一個開源的基於GPU的圖像處理庫,提供各種各樣的圖像處理濾鏡,並且支持照相機和攝像機的實時濾鏡。

圖片加載、緩存

SDWebImage:異步圖片下載處理,支持緩存,我相信大部分開發者都用過。

PINRemoteImage:對圖片下載、加載、緩存的管理,線程安全且快速,對於網絡圖片具有很好的表現力。

Haneke:輕量的圖片緩存框架。

AsyncImageView:異步圖片處理的一個簡單Extension。

Concorde:下載和解碼JPEGs格式圖片。

GIF

FLAnimatedImage:Gif引擎框架。

YLGIFImage:異步Gif解碼,播放Gif圖片,占用內存少。

Camera、視頻

XCDYouTubeKit:YouTube視頻播放框架。

ZFPlayer:基於AVPlayer支持橫屏、豎屏的視頻播放器。

kxmovie:使用ffmpeg制作的一款視頻播放器。

PBJVision:一款camera的引擎,支持錄屏慢動作獲取圖片等特性,且camera可自定義。

MWPhotoBrowser:一款優雅的圖片、視頻資源瀏覽器。

瀑布流

CHTCollectionViewWaterfallLayout:UICollectionView的瀑布流。

Objective-C與JS交互

JSPatch:JSPath充當Objective-C
JavaScript 交互的橋梁。

WebViewJavascriptBridge:Objective-C
javascript 交互通信過程中,和JSPath一樣充當橋梁。

地圖、地理位置信息、LBS

LocationManager:非常容易獲取設備當前地理位置信息的框架。

ReactiveCocoa

ReactiveCocoa:簡稱RAC。

MVVMReactiveCocoa:使用ReactiveCocoa結合MVVM模式做的一個Demo。

Runtime

RuntimeBrowser:有關運行時操作的工具,你有權使用運行時所有的類。

iOS-Runtime-Headers:使用RuntimeBrowser導出的iOSframework的頭文件。

Block

BlocksKit :對於使用Block來說更加方便、高效,不過好久沒有commit了。

KVO

KVOController:facebook出品,它是一個簡單安全的 KVO工具,構建了一個基於 Cocoa 的 time-tested key-value 監控實現,提供簡單方便、線程安全的 API。

AOP、Method Swizzling

Aspects:一個簡潔高效的用於使iOS支持AOP面向切面編程的庫。

路由器、Deep Link

JLRoutes:引入路由器的概念handle complex URL schemesdeep link(推薦)。

DeepLinkKit、routable-ios、HHRouter:功能同上。

測試

Kiwi:iOS的BDD框架。

specta:輕量的TDD/BDD測試框架。

KIF:全稱是Keep It Functional,來自Square,是一款專為iOS設計的移動應用測試框架

日誌

CocoaLumberjack:是Mac和iOS上一個集快捷、簡單、強大和靈活於一身的日誌框架。

工具、Xcode插件

工具

Alcatraz:Xcode插件管理神器,當然還有些其他的包管理功能。

FLEX:一款很好的調試工具,同樣是Flipboard出品。

PonyDebugger:原生app使用Chrome開發工具進行遠程的網路和數據debug

xctool:facebook出品的取代Apple‘s xcodebuild,讓編譯和測試更簡單。

Tweaks:facebook出品的快速原型開發工具,能在應用上實時調整參數並測試效果。

EarlGrey:google出品的UI自動測試工具。

GitUp:用於Git交互。

插件

injectionforxcode:運行中的程序,然後在Xcode中動態插入代碼,你可以實時看到編譯器中的變動。

CATweaker:創建CAMediaTimingFunction曲線的一個幫助工具,該插件可以實時觀看你創建的曲線,而且可調整。

KSImageNamed-Xcode:自動call imageNamed:獲取圖片資源名字填充,且相應圖片在左側可見。

XAlign:自動代碼對齊插件。

VVDocumenter-Xcode:王巍寫的一款編寫文本的插件,用於註釋非常方便。

SCXcodeSwitchExpander:自動填充Switch語句的枚舉case值。

RTImageAssets:給定一張@3x的圖片,自動生成其他像素的圖片,也可以給定一張@2x的圖自動片生成@3x的圖片。

ESJsonFormat-Xcode:將JSON格式化輸出為模型的屬性插件。

FuzzyAutocompletePlugin:代碼索引、自動補全代碼的插件。

ColorSense-for-Xcode:主要針對RGB顏色值,可實時查看RGB顏色。

API、SDK

facebook-ios-sdk:facebook的sdk,使用它可以集成facebook的一些API。

octokit.objc:GitHubAPI。

其他

PKRevealController:是一個iOS平臺上的視圖控制器集合,通過展現多個視圖控制器來進行控制器之間的切換,設置簡單,高度靈活。

nimbus:旨在落實Three20,但是提供文檔放在第一位,其次才是功能。

Chameleon:就像是一個港口,有iPhoneiPadMac幾個分支,用於處理不同平臺。

iOS-Artwork-Extractor:可以把所有圖片和emoji符號提取出來,並導入png文件。

Bolts-ObjC:集成多任務處理的,和GCD、NSOperation的作用有點類似。

資料

iOSInterviewQuestions:ios面試題集錦。

open-source-ios-apps:關於iOS開發一些開源的資源集錦,涉及iOS開發的各個方面。

trip-to-iOS:iOS學習資料整理。

精良的第三方 比較全面的