swift-open-project
這里匯集了目前為止最為流行的Swift開源項目,選取SwiftGuide中的開源部分,這里將每周對項目進(jìn)行總結(jié),如果大家有推薦的可以聯(lián)系thinkloki@gmail.com,或者issues,歡迎Star、Fork。感謝SwiftGuide。
<a id="open_api"></a>1. 實用類庫
以下實用類庫做為快速參考,更多實用類庫需求,也可以去這里(Swift toolbox is a community-supported catalog
of iOS and OSX libraries) (By Adam Leonard from swiftcast.tv), 這個網(wǎng)站收藏了 GitHub 開源社區(qū)中優(yōu)質(zhì) Swift 資源庫,并提供了分類及查詢服務(wù)。
- Mattt Thompson :著名開源作者,開發(fā)了知名的AFNetworking網(wǎng)絡(luò)庫。也是知名開發(fā)博客NSHipster網(wǎng)站主。
| 類庫 | 相關(guān)文章 | 備注 |
|---|---|---|
| Alamofire/Alamofire | Alamofire | 為其著名的 AFNetworking 用 Swift 重寫的網(wǎng)絡(luò)基礎(chǔ)庫 |
| mattt/Euler | Swift Operators | 這樣寫是否很數(shù)學(xué)、很邏輯??27÷3±5, ∑[3,1,2], ~0?1 |
| mattt/Surge | 基于蘋果 Accelerate 高性能計算框架庫,計算效率提升驚人 | |
| mattt/Literally | Swift Literal Convertibles | 常用數(shù)據(jù)類型的使用及轉(zhuǎn)換工具庫 |
工具類
Dollar:尤其在 Array 和 Dictionary 的支持上(實現(xiàn)類庫僅一個 Dollar.swift 文件)。用過 Javascript 版的 Lo-Dash 或 underscore 就知道其實用程度。它是一套函數(shù)化編程的工具庫。另一個類似的更完整的版本是 ExSwift,它的實現(xiàn)基于對象化擴(kuò)展的。
ExSwift:實用類擴(kuò)展庫。另一個 Lo-Dash 或 underscore 的 Swift 版本實現(xiàn),相對于 Dollar.swift,此版本有更完整的 API 實現(xiàn)。包括了對 Array, Int, String, Float, Range, Dictionary, NSArray 的擴(kuò)展及其它實用方法。完全遵循面向?qū)ο蟮臄U(kuò)展原則。
lingoer/SwiftyJSON:這是解析 JSON 字符串封裝類。實現(xiàn)功能與 Javascript中 的 JSON.parse 相近,使用方便。By @lingoer
SwiftyJSON/Alamofire-SwiftyJSON :簡單地整合 Alamofire 和 SwiftyJSON 后,遠(yuǎn)程 JSON 使用方便了。
swift-serializeswift object serialize/deserialize of json json序列化跟反序列化
matthewcheok/JSONCodable:基于 Swift 2.0 新特性(Protocol Extensions and Error Handling)的JSON 解析類。
typelift/Basis:這個實用類庫支持范圍很寬范,封裝主要以簡化及方便調(diào)用系統(tǒng)API為主,使程序代碼看上去更優(yōu)雅。遺憾地是,目前作者并沒有提供 API 文檔或示例代碼,對于初學(xué)者使用會額外帶來一點點學(xué)習(xí)成本。
owensd/json-swift:功能與 Swifty 幾乎一致,使用上要更方便。
gfx/Swift-JsonSerializer:JSON 解析又多了一種選擇。
Ahmed-Ali/JSONExport:一款實用工 具,可以將 JSON 轉(zhuǎn)換并輸出為 Swift 語言類模型(也支持Android上的Java),支持簡單的定制。
hubertr/Swell: 同時支持 Swift 和 OBJC 的 Log 實用類。喜歡 Log4j 風(fēng)格的日志管理類的同學(xué)可以收入。
RSBarcodes_Swift:"RSBarcodes allows you to read 1D and 2D barcodes using metadata scanning capabilities introduced with iOS 7 and generate the same set of barcode images for displaying and sharing." By @yeahdongcn Swift 語言版二維碼識別及生成類庫。
SwiftP2P/SwiftSSL:常用 Digest 和 HMAC 的封裝。如此封裝后,使用加密算法確實很方便。很不錯的一個國產(chǎn)"輪子"!By @你全家都快到碗里來
Hearst-DD/ObjectMapper:對象與 JSON 互轉(zhuǎn)實用類庫。需要的同學(xué)可以收一下。
DaveWoodCom/XCGLogger : 這是一款功能比較健全日志輸出框架(Log4Swift)。之前推薦過一款類似的 hubertr/Swell,但它的功能明顯沒有這款強大。
isair/JSONHelper :又一款JSON轉(zhuǎn)對象類庫,算上,lingoer/SwiftyJSON,owensd/json-swift,gfx/Swift-JsonSerializer,已經(jīng)有四款了。同學(xué)們根據(jù)喜好及需求,擇優(yōu)使用吧。
kylef/Stencil:通過在模板中支持 if, for, ifnot 等語法標(biāo)簽,實現(xiàn)更強大、更靈活的數(shù)據(jù)及格式輸出。
kylef/PathKit: 簡單、實用的文件路徑操作類,常用功能一個也不少。
thoughtbot/Argo:一個帶有實戰(zhàn)說明的 JSON 解析方案及類庫。
typelift/swiftz: 一個幫助實現(xiàn)函數(shù)式編程的類庫,定義了一系列相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。
dongri/OAuthSwift:Swift 版 OAuth(1/2) 授權(quán)類庫。對于作者提供的 API,看著舒服,用著方便。
p2/OAuth2:獨立又純粹的 OAuth2 認(rèn)證授權(quán)類庫,作者所提供的示例及流程說明清晰又簡潔。
tadija/AEXML:簡單又易于使用的XML解析類。作者提供了完整的示例程序。
duemunk/Async:一個后臺執(zhí)行代碼封裝庫,它可以讓你的后臺代碼封裝語法更簡潔。
jquave/EasyCast:這是一個自動強制轉(zhuǎn)換操作符左右類型及常用數(shù)學(xué)函數(shù)參數(shù)類型無障礙使用的類庫。@onevcat幾個月前也寫過類似功能庫 onevcat/Easy-Cal-Swift,不過,停滯更新很久了。
ArtSabintsev/Siren:當(dāng)應(yīng)用更新時,通知用戶并提供 App Store 鏈接供用戶更新的開源庫。P.S. 該開發(fā)者也曾提供 Objectvie-C 語言版ArtSabintsev/Harpy。
kishikawakatsumi/KeychainAccess:這套Keychain管理比較完整。支持本地應(yīng)用,網(wǎng)絡(luò)應(yīng)用,以及與Touch ID的集成應(yīng)用。
nori0620/SwiftFilePath:功能強大的文件及路徑管理封裝類庫。
onevcat/RandomColorSwift:"剛剛開源了一個自動生成好看的顏色的 Swift 庫,這是 randomColor.js 項目的 Swift 移植版本。在學(xué)習(xí) Swift 的童鞋不妨一看,如果可以對于大家在 Swift 實際使用中的某些概念和寫法有所啟迪的話就再好不過了。" By @onevcat
beltex/SMCKit:Mac 系統(tǒng)管理控制器 SMC(System Management Controller)Swift 語言版封裝庫。通過該類庫,簡單的幾行代碼就可知 CPU 溫度,風(fēng)扇轉(zhuǎn)速,電池狀態(tài)等硬件狀態(tài)或活動狀態(tài)。
radex/SwiftyUserDefaults:輕量級數(shù)據(jù)存儲類 NSUserDefaults 擴(kuò)展類,它使類型數(shù)據(jù)訪問和存儲更為便捷、直觀。
akosma/SwiftMoment:時間和日歷函數(shù)封裝庫,也是經(jīng)典的 moment.js 的 Swift 語言版本實現(xiàn)。
imaginary-cloud/CameraManager:相機管理封裝類庫??粗鴺O好用的樣子。
yannickl/QRCodeReader.swift:一款簡單的 QR 二維碼閱讀組件及示例,提供前后相機切換功能。
aaronabentheuer/AAFaceDetection:簡單、實用的面部識別封裝庫。雖然該技術(shù)從 iOS 5 發(fā)展,不過真正有趣的應(yīng)用還不多。例如:在視頻直播中可以檢測觀眾情感(微笑或眨眼),或注意力(看著屏幕或沒有)。因此,作者對其抱以很高的期待,并已經(jīng)著手開發(fā)實驗室類大項目。
zenangst/Versions:版本比較小工具。
NorthernRealities/Rainbow:旨在提高代碼可讀性及易用性的 UIColor 擴(kuò)展,它使原先有限的預(yù)定義顏色(方法)選擇,擴(kuò)展至超過 1200 種。
jpotts18/swift-validator:基于規(guī)則的輸入驗證類庫。項目良好的面向?qū)ο笤O(shè)計思想,使規(guī)則的擴(kuò)展及自定義非常方便。P.S. 對于規(guī)則,若有更復(fù)雜的需求,則需要有更專業(yè)的規(guī)則引擎(甚至是基于自然語言的規(guī)則配置)解決方案。比如:開源的 Drools,商用的 ILOG 等。
nghialv/Transporter:短小、精悍、易用的多文件(并發(fā)或順序)上傳和下載傳輸庫。還支持后臺運行、傳輸進(jìn)程跟蹤、暫停/續(xù)傳/取消/重試控制等功能。
krzyzanowskim/CryptoSwift:純 Swift 版 Crypto 算法及相關(guān)功能類庫。是一套易用、易擴(kuò)展、完整、不可或缺的功能庫。
nomothetis/SemverKit:針對符合『語義化版本規(guī)范 2.0.0』版本號的解析、比較運算類庫。不僅支持 Major, Minor, Patch,還支持 Alpha 和 Beta 預(yù)發(fā)布版本,以及相應(yīng)地遞增運算擴(kuò)展。
harlanhaskins/Punctual.swift:通過一系列基礎(chǔ)數(shù)據(jù)類型擴(kuò)展,使日期訪問及操作更加自然語言化。若沒有動態(tài)語言化地超強擴(kuò)展及定制能力,如此優(yōu)雅的日期操作是無法實現(xiàn)的。
ayanonagon/Parsimmon:小而美的語言學(xué)類庫封裝工具包。提供分詞、標(biāo)記詞性、詞形歸并、樸素貝頁斯分類、決策樹等自然語言分析小工具。P.S. 英語分詞效果好于中文,感興趣的同學(xué)可以針對中文做一些優(yōu)化開發(fā)。參考譯文 NSHipster - NSLinguistic?Tagger
soffes/X:等不及蘋果 iOS/OS X 平臺統(tǒng)一的開發(fā)同學(xué)(Sam Soffes),啟了一個項目,先將常用類庫統(tǒng)一了。該項目剛開始,感興趣的同學(xué)可以考慮參與其中。
naoty/Timepiece:直觀(自然語言化)的日期類擴(kuò)展。它使日期加減運算、初始設(shè)置、日期變更以及基于指定格式解析轉(zhuǎn)換變得方便、易讀。P.S. 相比前一段時間推薦另一個類似日期庫(Punctual.swift O網(wǎng)頁鏈接)功能更豐富。
macoscope/SwiftyStateMachine:應(yīng)用好狀態(tài)機,不僅提高程序可維護(hù)性,更大大增強了程序健壯性。
benzguo/MusicKit:一套音樂編輯及創(chuàng)作框架。懂音樂、玩音樂的同學(xué)值得擁有。
ArtSabintsev/FontBlaster:調(diào)用自定義字體封裝類。很實用、很方便。
phimage/Prephirences:這個庫可以讓開發(fā)者更方便管理、讀寫應(yīng)用的配置信息。很實用。
radex/SwiftyTimer:一個更友好、更簡單的時間操作 NSTimer 擴(kuò)展。P.S. 類似針對日期有 Punctual.swift 和 Timepiece。
liufan321/SwiftQRCode:簡單、實用的 QR Code 掃描識別及生成庫。
emaloney/CleanroomLogger:相當(dāng)于 CocoaLumberjack 或 Log4j 的 Swift 版本,功能上甚至更強大。另外,源代碼中已經(jīng)內(nèi)含了完整的 API 文檔,使用非常方便。
Khan/Prototope:一款輕量的 Javascript 橋接 Swift 庫。對于 JS 控,或許可以從玩這個項目開始 iOS 原型開發(fā)。
malcommac/SwiftDate:特別完整、強大的日期操作管理類庫。它幾乎涵蓋了已知開源日期類庫所有優(yōu)秀特性。是一款值得毫不猶豫收錄的類庫。
nghialv/Future:基于微框架設(shè)計思想的異步執(zhí)行及結(jié)果響應(yīng)類。由示例發(fā)現(xiàn),代碼即簡單又干凈。
alexeyxo/protobuf-swift:Protocol Buffers 的 Swift 語言實現(xiàn)庫。P.S. Protocol Buffers 是 Google 開源項目,主要功能是實現(xiàn)直接序列化結(jié)構(gòu)化的對象數(shù)據(jù),方便跨平臺快速傳遞,開發(fā)者也可以直接修改 protobuf 中的數(shù)據(jù)。相比 XML 和 JSON,protobuf 解析更快,存儲更小。
soffes/SyntaxKits:TextMate 風(fēng)格語法高亮類庫(基于 Swift 2.0)。
glock45/swifter:一款極其輕量的 HTTP 服務(wù)器引擎。#Swift 2#
andreacremaschi/GEOSwift:可輕松地處理地理對象模型和相關(guān)地形操作,是一個極其易用的地理封裝庫(集成 MapKit 和 Quicklook)。絕佳好輪子,不容錯過。
圖片
kaishin/ImageScout:最小網(wǎng)絡(luò)代價獲得圖片大?。▽捄透撸┘邦愋?,它對于很多場合,比如:布局和排版都有積極作用。
kaishin/gifu:高性能 GIF 顯示類庫 Swift 版本。
indragiek/DominantColor:采用YUV色域編碼規(guī)則及K均值聚類算法提取圖片代表色開源項目。很實用,很贊!
iSame7/Panoramic:該項目通過 Core Motion 實現(xiàn)了變換角度移動手機時,使圖片顯示產(chǎn)生對應(yīng)位置及角度的變換。從而達(dá)到了具有現(xiàn)場感的圖片瀏覽功能。
gavinbunney/Toucan:小而美的圖片變換及處理類(支持:resize, clip, crop, scale, Ellipse Mask, Rounded Rect Mask, Image Mask)。功能略有超預(yù)期的感覺。
schwa/SwiftGraphics:一個易學(xué)、易用的繪圖工具庫封裝。作者很勤勞,項目正在持續(xù)更新中。
contentful-labs/Concorde:一個可用于下載和解碼漸進(jìn)式 JPEG 的庫。特定場合很有用。類庫的調(diào)用方法也很自然、方便。
FlexMonkey/SnapSwift:一款 Snapseed 風(fēng)格濾鏡及參數(shù)編輯菜單。彈出菜單項后,上下、左右滑動即可調(diào)整濾鏡參數(shù)。
kiavashfaisali/KFSwiftImageLoader:極高性能、輕量、低功耗網(wǎng)絡(luò)圖片異步加載擴(kuò)展庫(支持 iOS 和 WatchKit)。良好的緩存管理機制保證的作者設(shè)計初衷。P.S. 作者曾開發(fā)過 KFWatchKitAnimations:一款為 ? Watch 提供 60 幀動畫顯示效果解決方案及示例。
yannickl/DynamicColor:強大的顏色操作擴(kuò)展類。通過該類,你可以通過擴(kuò)展方法基于某個顏色得到不同深淺、飽和度、灰度、色相,以及反轉(zhuǎn)后的新顏色。是不可多得的好類庫。
Jan0707/SwiftColorArt:根據(jù)圖片色系決定所在界面背景色及字體顯示顏色。類庫及示例代碼也很簡潔且易于使用。這樣的項目真的帶給我驚艷。何況,該開發(fā)者備注了這是他的第一個Swift項目。
jathu/UIImageColors:又一款根據(jù)圖片獲取主色、次色、背景色、詳細(xì)色的類。P.S. 另一款功能相同的類是 SwiftColorArt。
存儲
SQLiteDB in Swift:"This is a basic SQLite wrapper for Swift. It is very simple at the moment and does not provide any advanced functionality. Additionally, it's not pure Swift at the moment due to some difficulties in making all of the necessary sqlite C API calls from Swift."
Alecrim/AlecrimCoreData:更容易地訪問 CoreData 對象封裝類庫。除了 CRUD,還提供指針定位,強大的排序、篩選,異步數(shù)據(jù)獲取,以及獨立線程后臺存取數(shù)據(jù)。
Realm - a mobile database:Realm主打移動數(shù)據(jù)庫。除了更輕量,甚至還可以應(yīng)用到可穿戴。低耦、面向?qū)ο蟮脑O(shè)計風(fēng)格也是非常亮麗的。
nerdyc/Squeal:一套非常完善的 SQLite 數(shù)據(jù)庫訪問 API,無論建庫,建表,CRUD 等常用數(shù)據(jù)庫操作命令都進(jìn)行了很好的封裝,另外,版本管理、事務(wù)管理、并發(fā)管理、命令執(zhí)行及 Prepare Statement 等都提供相應(yīng)支持。它是一套不可多得的SQLite管理訪問庫。
stephencelis/SQLite.swift:簡單、輕量,或是使用上最 SQL 的 SQLit e封裝庫。
BjornRuud/Swiftache:Mustache 的 Swift 語言實現(xiàn)版本。
Haneke/HanekeSwift:貌似這個輕量地帶緩存圖片組件還不錯。主要功能包括圖片二級緩存、異步加載、后臺執(zhí)行、自動縮放等。感興趣的同學(xué)可以試用一下。
SugarRecord/SugarRecord:相對于 SQL,CoreData 可以更方便、高效存儲數(shù)據(jù),而 SugarRecord 類庫可以讓你更方便的使用 CoreData,同時作者已經(jīng)封裝好 iCloud,使你的應(yīng)用開發(fā)更如虎添翼。
michaelarmstrong/SuperRecord : Swift 版 CoreData 框架擴(kuò)展類庫。相對于同類型 CoreData 框架庫 SugarRecord/SugarRecord,SuperRecord 要簡單、輕量得多。很棒的快速開發(fā)類庫。
aschuch/AwesomeCache:Swift 語言寫的高效能緩存對象存儲及管理,定義及使用簡單、易于理解。支持為每個 Cache 對象設(shè)定緩存有效期。
daltoniam/Skeets:網(wǎng)絡(luò)圖片的獲取、緩存及顯示類庫,支持緩存的清理及時效性管理。
evermeer/EVCloudKitDao:一套使用 CloudKit 簡單封裝庫。作者還提供了示例項目及程序供開發(fā)者參考使用。
andrelind/Breeze:輕量 CoreData 管理封裝庫。支持 iCloud 。
arkverse/SwiftRecord:基于 Core Data 極為輕量、易用的對象持久化工具庫,相當(dāng)于 ActiveRecord 的 Swift 版本。
JohnEstropia/CoreStore:提供高可讀性,一致性及安全性的 Core Data 管理類庫。 其中事務(wù)管理及查詢是其比較大的亮點,整套 API 功能完整,風(fēng)格傳統(tǒng)又實用。非常值得收入。
遠(yuǎn)程訪問
Minimalistic Swift HTTP request agent for iOS and OS X:一個簡單、小巧、實用的 HTTP 請求 Swift 語言實現(xiàn)類(僅一個 Agent.swift 類)
lingoer/GRequest:"@李潔信:個人認(rèn)為 AFNetworking 這種較重的第三方網(wǎng)絡(luò)庫將逐漸淡出舞臺,而像樓主這種基于 NSURLSession 并充分利用 Swift 特性寫出來的小而美的庫會受到更多人的青睞!" 作者解讀《GRequest for HTTP Request》。
daltoniam/SwiftHTTP:Thin wrapper around NSURLSession in swift. Simplifies HTTP requests。感興趣的可以看看代碼,比較與 lingoer/GRequest 差別。
AshFurrow/Moya:如果你需要如此功能的 Swift 網(wǎng)絡(luò) API,可以考慮使用它。它基于 Alamofire, swfitz 等優(yōu)秀開源類實現(xiàn)。
aleclarson/emitter-kit:用 EmitterKit 代替 NSNotificationCenter。這個庫貌似短小、精悍、實用的樣子。更重要是語法精練。
daltoniam/starscream:Swift 版本 WebSocket 客戶端類庫,支持 iOS/OS X 。 使用方便,跨平臺開發(fā)不可或缺的“輪子”。
shuoli84/SocketIOCocoa:又一款 WebSocket 實用客戶端類庫,作者提供了詳細(xì)的測試用例可以做為示例代碼使用。
socketio/socket.io-client-swift:WebSockect 客戶端類庫。開放的通訊協(xié)議,有利于構(gòu)建強大地跨平臺應(yīng)用。
marcelofabri/BigBrother:網(wǎng)絡(luò)請求活動狀態(tài)監(jiān)視器類。由于 Alamofire 庫并無此項特性,因此它可以做為 Alamofire 的一個擴(kuò)展功能。
ishkawa/APIKit:為不同來源或類型 Web 服務(wù),提供安全地可定制化網(wǎng)絡(luò)請求 API 的基礎(chǔ)類庫。很好的面向?qū)ο笤O(shè)計思路實例。
contentful-labs/Stargate:通過 iPhone 橋接實現(xiàn) Mac 與 Watch 的即時通訊。Stargate 通過封裝兩個優(yōu)秀的基礎(chǔ)類庫 MMWormhole 和 PeerKit 實現(xiàn)高效的通訊應(yīng)用。
JustHTTP/Just:小而美的 HTTP 類。功能簡單、直接、完整且健壯性高。
CloudKitSpace/CKSIncrementalStore:基于 CloudKit 服務(wù)器實現(xiàn)多終端數(shù)據(jù)同步。附示例動態(tài)圖。
社交網(wǎng)絡(luò)
lingoer/SwiftWeiboKit:"封裝了整個 OAuth 2.0 的授權(quán)流程,并提供了幾個簡便易用的請求方法"
A Twitter framework for iOS & OS X written in Swift:一套很完整的 Twitter 訪問框架類庫,支持 iOS/OS X
框架
robb/Cartography:Set up your Auto Layout constraints declaratively. 這是有關(guān)自動布局約束一個實用的 Swift 項目,代碼看似簡單清晰,不過由于設(shè)計巧妙。代碼解讀 By @kaiyuz
railsware/Sleipnir:一個基于 Swift 的行為驅(qū)動開發(fā)框架(BDD-style framework)。API 安裝,示例及說明相對比較齊全。
Quick/Quick:另一款基于 Swift 的行為驅(qū)動開發(fā)框架。
inamiy/SwiftTask: 一個很標(biāo)準(zhǔn)的任務(wù)及其生命周期管理類庫。作者還附上了一個基于 Alamofire 庫完成的網(wǎng)絡(luò)文件下載的任務(wù)管理示例。
inamiy/SwiftState:Swift 版本 State Machine,這是 SwiftTask 的姐妹篇。開發(fā)過 Workflow 類應(yīng)用的同學(xué)有沒有很親切。
colemancda/NetworkObjects:基于Swift的輕量版HttpServer框架,可以做為iOS/OS X分布式對象的替代??上鄙傺菔净蚴纠a。
Masonry/Snappy:一個基于 AutoLayout 封裝,語法簡潔的輕量級布局框架。當(dāng)然,用代碼還是 storyboard,全憑開發(fā)者喜好。若偏好可視化自動布局,@DevTalking 的兩篇譯文值得參考《Swift 自適應(yīng)布局教程》和《為 iPhone 6 設(shè)計自適應(yīng)布局》。
jpsim/PeerKit:基于事件驅(qū)動的多端對等連接開源框架。作者提供了該組件使用案例jpsim/CardsAgainst,具體引用代碼詳見這里。
Quick/Nimble:功能更強于Xcode自帶測試框架(XCTest)的測試類庫。
venmo/DVR:針對網(wǎng)絡(luò)請求的測試框架,超實用的工具。且支持 iOS, OSX, watchOS 全平臺。
owensd/swift-perf:針對 Swift 的性能測試方案。通過抽樣場景關(guān)鍵代碼與 C 或 Objective-C 的比較做為其測試基準(zhǔn)。
nghialv/MaterialKit:Swift 版 Google Material Design 組件庫。雖然個人并不推薦在 iOS 平臺上使用非 iOS 風(fēng)格界面,不過,對于 Android 強迫癥“患者”,多一種選擇也是友好的。順帶附上 Google 提供的開源Material Design 圖標(biāo)集,可以一起收入。
facebook/AsyncDisplayKit:它是由 Facebook 開發(fā)并用于其 Paper 應(yīng)用的 iOS UI 框架,它主要解決問題是提供界面的高流暢性切換及更靈敏的響應(yīng),解決思路是將部分 UI 渲染及復(fù)雜計算交由獨立于主線程的處理程序負(fù)責(zé)。中譯教程《AsyncDisplayKit 教程 - 達(dá)到 60 FPS 的滾動幀率 By @nixzhu》,教程原文《AsyncDisplayKit Tutorial: Achieving 60 FPS scrolling》。
mutualmobile/MMWormhole:提供了 iOS 應(yīng)用與擴(kuò)展之間的消息傳遞,其最有價值之處當(dāng)屬 iPhone 與 ? Watch 間的消息傳遞,從而實現(xiàn)相互操控的功能。
Thomvis/BrightFutures:漫長或復(fù)雜計算由獨立線程異步來完成。
Khan/Prototope:雖然看不懂這套用戶交互層面的輕量級原型框架用處在哪里(哪位同學(xué)能給俺提示一下)?不過,作者將這套框架的 Swift API完整橋接為 JS 接口倒是很有意思。
MHaroonBaig/MotionKit:為核心運動框架(The Core Motion framework)提供友好的類庫封裝,以更方便使用三軸陀螺儀和加速感應(yīng)器特性。
uber/jetstream-ios:一款 Uber 的 MVC 框架。它同時提供了多用戶實時通訊支持,一旦啟動 JetStream 后端服務(wù),通過 WebSocket 協(xié)議可以分分鐘建立多用戶實時通訊應(yīng)用。
jessesquires/JSQNotificationObserverKit:一款輕量、易用的通知發(fā)送及響應(yīng)框架類庫。作者是知名開源項目 JSQMessagesViewController(Objective-C 版即時聊天)的作者 Jesse Squires ,也是一位知名博主,收錄過其文章『An analysis of sorts between Objective-C and Swift』。
morizotter/TouchVisualizer:實用的多點觸摸可視化組件。擴(kuò)展并作用于 UIWindows,結(jié)構(gòu)上提供了簡單地針對觸摸顯示定制,比如觸摸點的顏色。這個組件對于需要做應(yīng)用演示的同學(xué)尤其有用。
FutureKit/FutureKit:“是一個 100% Swift 實現(xiàn)的 Future/Promises 庫,由 Swift Generic 帶來的類型安全、由 GCD 帶來的線程安全,通過 FutureKit 可以在 iOS/OS X 下靈活玩轉(zhuǎn) Future/Promises 式編程了”。推薦者:@圖拉鼎
SwiftBond/Bond:使用簡單、易于理解的對象綁定框架。比如:你可以使用代碼 textField ->> label 將輸入框文本映射到標(biāo)簽中的文字屬性,當(dāng)文本變化時,標(biāo)簽文字隨動變化。 真的很方便。
nabilfreeman/ios-universal-webview-boilerplate: 快速封裝 WebApp 到 iOS 應(yīng)用,即便你毫無 Swift 編程經(jīng)驗。
FabrizioBrancati/BFKit-Swift:作者說這套工具庫可以提高應(yīng)用開發(fā)效率。不知效果如果?有興趣的同學(xué)可以試用一下。