swift-open-project
這里匯集了目前為止最為流行的Swift開(kāi)源項(xiàng)目馒稍,選取SwiftGuide中的開(kāi)源部分军拟,這里將每周對(duì)項(xiàng)目進(jìn)行總結(jié)蠕趁,如果大家有推薦的可以聯(lián)系thinkloki@gmail.com,或者issues垃它,歡迎Star碱妆、Fork肉盹。感謝SwiftGuide。
<a id="open_api"></a>1. 實(shí)用類庫(kù)
以下實(shí)用類庫(kù)做為快速參考疹尾,更多實(shí)用類庫(kù)需求上忍,也可以去這里(Swift toolbox is a community-supported catalog
of iOS and OSX libraries) (By Adam Leonard from swiftcast.tv), 這個(gè)網(wǎng)站收藏了 GitHub 開(kāi)源社區(qū)中優(yōu)質(zhì) Swift 資源庫(kù),并提供了分類及查詢服務(wù)纳本。
- Mattt Thompson :著名開(kāi)源作者窍蓝,開(kāi)發(fā)了知名的AFNetworking網(wǎng)絡(luò)庫(kù)。也是知名開(kāi)發(fā)博客NSHipster網(wǎng)站主繁成。
類庫(kù) | 相關(guān)文章 | 備注 |
---|---|---|
Alamofire/Alamofire | Alamofire | 為其著名的 AFNetworking 用 Swift 重寫(xiě)的網(wǎng)絡(luò)基礎(chǔ)庫(kù) |
mattt/Euler | Swift Operators | 這樣寫(xiě)是否很數(shù)學(xué)吓笙、很邏輯??27÷3±5, ∑[3,1,2], ~0?1 |
mattt/Surge | 基于蘋(píng)果 Accelerate 高性能計(jì)算框架庫(kù)巾腕,計(jì)算效率提升驚人 | |
mattt/Literally | Swift Literal Convertibles | 常用數(shù)據(jù)類型的使用及轉(zhuǎn)換工具庫(kù) |
工具類
Dollar:尤其在 Array 和 Dictionary 的支持上(實(shí)現(xiàn)類庫(kù)僅一個(gè) Dollar.swift 文件)观蓄。用過(guò) Javascript 版的 Lo-Dash 或 underscore 就知道其實(shí)用程度。它是一套函數(shù)化編程的工具庫(kù)祠墅。另一個(gè)類似的更完整的版本是 ExSwift,它的實(shí)現(xiàn)基于對(duì)象化擴(kuò)展的歌径。
ExSwift:實(shí)用類擴(kuò)展庫(kù)毁嗦。另一個(gè) Lo-Dash 或 underscore 的 Swift 版本實(shí)現(xiàn),相對(duì)于 Dollar.swift回铛,此版本有更完整的 API 實(shí)現(xiàn)狗准。包括了對(duì) Array, Int, String, Float, Range, Dictionary, NSArray 的擴(kuò)展及其它實(shí)用方法。完全遵循面向?qū)ο蟮臄U(kuò)展原則茵肃。
lingoer/SwiftyJSON:這是解析 JSON 字符串封裝類腔长。實(shí)現(xiàn)功能與 Javascript中 的 JSON.parse 相近,使用方便验残。By @lingoer
SwiftyJSON/Alamofire-SwiftyJSON :簡(jiǎn)單地整合 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:這個(gè)實(shí)用類庫(kù)支持范圍很寬范鸟召,封裝主要以簡(jiǎn)化及方便調(diào)用系統(tǒng)API為主胆绊,使程序代碼看上去更優(yōu)雅。遺憾地是欧募,目前作者并沒(méi)有提供 API 文檔或示例代碼压状,對(duì)于初學(xué)者使用會(huì)額外帶來(lái)一點(diǎn)點(diǎn)學(xué)習(xí)成本。
owensd/json-swift:功能與 Swifty 幾乎一致跟继,使用上要更方便种冬。
gfx/Swift-JsonSerializer:JSON 解析又多了一種選擇。
Ahmed-Ali/JSONExport:一款實(shí)用工 具舔糖,可以將 JSON 轉(zhuǎn)換并輸出為 Swift 語(yǔ)言類模型(也支持Android上的Java)娱两,支持簡(jiǎn)單的定制。
hubertr/Swell: 同時(shí)支持 Swift 和 OBJC 的 Log 實(shí)用類剩盒。喜歡 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 語(yǔ)言版二維碼識(shí)別及生成類庫(kù)。
SwiftP2P/SwiftSSL:常用 Digest 和 HMAC 的封裝辽聊。如此封裝后纪挎,使用加密算法確實(shí)很方便。很不錯(cuò)的一個(gè)國(guó)產(chǎn)"輪子"跟匆!By @你全家都快到碗里來(lái)
Hearst-DD/ObjectMapper:對(duì)象與 JSON 互轉(zhuǎn)實(shí)用類庫(kù)异袄。需要的同學(xué)可以收一下。
DaveWoodCom/XCGLogger : 這是一款功能比較健全日志輸出框架(Log4Swift)玛臂。之前推薦過(guò)一款類似的 hubertr/Swell烤蜕,但它的功能明顯沒(méi)有這款強(qiáng)大。
isair/JSONHelper :又一款JSON轉(zhuǎn)對(duì)象類庫(kù)迹冤,算上讽营,lingoer/SwiftyJSON,owensd/json-swift泡徙,gfx/Swift-JsonSerializer橱鹏,已經(jīng)有四款了。同學(xué)們根據(jù)喜好及需求堪藐,擇優(yōu)使用吧莉兰。
kylef/Stencil:通過(guò)在模板中支持 if, for, ifnot 等語(yǔ)法標(biāo)簽,實(shí)現(xiàn)更強(qiáng)大礁竞、更靈活的數(shù)據(jù)及格式輸出糖荒。
kylef/PathKit: 簡(jiǎn)單、實(shí)用的文件路徑操作類模捂,常用功能一個(gè)也不少捶朵。
thoughtbot/Argo:一個(gè)帶有實(shí)戰(zhàn)說(shuō)明的 JSON 解析方案及類庫(kù)蜘矢。
typelift/swiftz: 一個(gè)幫助實(shí)現(xiàn)函數(shù)式編程的類庫(kù),定義了一系列相應(yīng)的數(shù)據(jù)結(jié)構(gòu)泉孩。
dongri/OAuthSwift:Swift 版 OAuth(1/2) 授權(quán)類庫(kù)硼端。對(duì)于作者提供的 API,看著舒服寓搬,用著方便珍昨。
p2/OAuth2:獨(dú)立又純粹的 OAuth2 認(rèn)證授權(quán)類庫(kù),作者所提供的示例及流程說(shuō)明清晰又簡(jiǎn)潔句喷。
tadija/AEXML:簡(jiǎn)單又易于使用的XML解析類镣典。作者提供了完整的示例程序。
duemunk/Async:一個(gè)后臺(tái)執(zhí)行代碼封裝庫(kù)唾琼,它可以讓你的后臺(tái)代碼封裝語(yǔ)法更簡(jiǎn)潔兄春。
jquave/EasyCast:這是一個(gè)自動(dòng)強(qiáng)制轉(zhuǎn)換操作符左右類型及常用數(shù)學(xué)函數(shù)參數(shù)類型無(wú)障礙使用的類庫(kù)。@onevcat幾個(gè)月前也寫(xiě)過(guò)類似功能庫(kù) onevcat/Easy-Cal-Swift锡溯,不過(guò)赶舆,停滯更新很久了。
ArtSabintsev/Siren:當(dāng)應(yīng)用更新時(shí)祭饭,通知用戶并提供 App Store 鏈接供用戶更新的開(kāi)源庫(kù)芜茵。P.S. 該開(kāi)發(fā)者也曾提供 Objectvie-C 語(yǔ)言版ArtSabintsev/Harpy。
kishikawakatsumi/KeychainAccess:這套Keychain管理比較完整倡蝙。支持本地應(yīng)用九串,網(wǎng)絡(luò)應(yīng)用,以及與Touch ID的集成應(yīng)用寺鸥。
nori0620/SwiftFilePath:功能強(qiáng)大的文件及路徑管理封裝類庫(kù)猪钮。
onevcat/RandomColorSwift:"剛剛開(kāi)源了一個(gè)自動(dòng)生成好看的顏色的 Swift 庫(kù),這是 randomColor.js 項(xiàng)目的 Swift 移植版本胆建。在學(xué)習(xí) Swift 的童鞋不妨一看烤低,如果可以對(duì)于大家在 Swift 實(shí)際使用中的某些概念和寫(xiě)法有所啟迪的話就再好不過(guò)了。" By @onevcat
beltex/SMCKit:Mac 系統(tǒng)管理控制器 SMC(System Management Controller)Swift 語(yǔ)言版封裝庫(kù)笆载。通過(guò)該類庫(kù)扑馁,簡(jiǎn)單的幾行代碼就可知 CPU 溫度,風(fēng)扇轉(zhuǎn)速宰译,電池狀態(tài)等硬件狀態(tài)或活動(dòng)狀態(tài)。
radex/SwiftyUserDefaults:輕量級(jí)數(shù)據(jù)存儲(chǔ)類 NSUserDefaults 擴(kuò)展類魄懂,它使類型數(shù)據(jù)訪問(wèn)和存儲(chǔ)更為便捷沿侈、直觀。
akosma/SwiftMoment:時(shí)間和日歷函數(shù)封裝庫(kù)市栗,也是經(jīng)典的 moment.js 的 Swift 語(yǔ)言版本實(shí)現(xiàn)缀拭。
imaginary-cloud/CameraManager:相機(jī)管理封裝類庫(kù)咳短。看著極好用的樣子蛛淋。
yannickl/QRCodeReader.swift:一款簡(jiǎn)單的 QR 二維碼閱讀組件及示例咙好,提供前后相機(jī)切換功能。
aaronabentheuer/AAFaceDetection:簡(jiǎn)單褐荷、實(shí)用的面部識(shí)別封裝庫(kù)勾效。雖然該技術(shù)從 iOS 5 發(fā)展,不過(guò)真正有趣的應(yīng)用還不多叛甫。例如:在視頻直播中可以檢測(cè)觀眾情感(微笑或眨眼)层宫,或注意力(看著屏幕或沒(méi)有)。因此其监,作者對(duì)其抱以很高的期待萌腿,并已經(jīng)著手開(kāi)發(fā)實(shí)驗(yàn)室類大項(xiàng)目。
zenangst/Versions:版本比較小工具抖苦。
NorthernRealities/Rainbow:旨在提高代碼可讀性及易用性的 UIColor 擴(kuò)展毁菱,它使原先有限的預(yù)定義顏色(方法)選擇,擴(kuò)展至超過(guò) 1200 種锌历。
jpotts18/swift-validator:基于規(guī)則的輸入驗(yàn)證類庫(kù)贮庞。項(xiàng)目良好的面向?qū)ο笤O(shè)計(jì)思想,使規(guī)則的擴(kuò)展及自定義非常方便辩涝。P.S. 對(duì)于規(guī)則贸伐,若有更復(fù)雜的需求,則需要有更專業(yè)的規(guī)則引擎(甚至是基于自然語(yǔ)言的規(guī)則配置)解決方案怔揩。比如:開(kāi)源的 Drools捉邢,商用的 ILOG 等。
nghialv/Transporter:短小商膊、精悍伏伐、易用的多文件(并發(fā)或順序)上傳和下載傳輸庫(kù)。還支持后臺(tái)運(yùn)行晕拆、傳輸進(jìn)程跟蹤藐翎、暫停/續(xù)傳/取消/重試控制等功能阔拳。
krzyzanowskim/CryptoSwift:純 Swift 版 Crypto 算法及相關(guān)功能類庫(kù)高蜂。是一套易用怎顾、易擴(kuò)展段直、完整赋兵、不可或缺的功能庫(kù)固歪。
nomothetis/SemverKit:針對(duì)符合『語(yǔ)義化版本規(guī)范 2.0.0』版本號(hào)的解析凝颇、比較運(yùn)算類庫(kù)勋陪。不僅支持 Major, Minor, Patch整吆,還支持 Alpha 和 Beta 預(yù)發(fā)布版本拱撵,以及相應(yīng)地遞增運(yùn)算擴(kuò)展辉川。
harlanhaskins/Punctual.swift:通過(guò)一系列基礎(chǔ)數(shù)據(jù)類型擴(kuò)展,使日期訪問(wèn)及操作更加自然語(yǔ)言化拴测。若沒(méi)有動(dòng)態(tài)語(yǔ)言化地超強(qiáng)擴(kuò)展及定制能力乓旗,如此優(yōu)雅的日期操作是無(wú)法實(shí)現(xiàn)的。
ayanonagon/Parsimmon:小而美的語(yǔ)言學(xué)類庫(kù)封裝工具包集索。提供分詞屿愚、標(biāo)記詞性、詞形歸并抄谐、樸素貝頁(yè)斯分類渺鹦、決策樹(shù)等自然語(yǔ)言分析小工具。P.S. 英語(yǔ)分詞效果好于中文蛹含,感興趣的同學(xué)可以針對(duì)中文做一些優(yōu)化開(kāi)發(fā)毅厚。參考譯文 NSHipster - NSLinguistic?Tagger
soffes/X:等不及蘋(píng)果 iOS/OS X 平臺(tái)統(tǒng)一的開(kāi)發(fā)同學(xué)(Sam Soffes),啟了一個(gè)項(xiàng)目浦箱,先將常用類庫(kù)統(tǒng)一了吸耿。該項(xiàng)目剛開(kāi)始,感興趣的同學(xué)可以考慮參與其中酷窥。
naoty/Timepiece:直觀(自然語(yǔ)言化)的日期類擴(kuò)展咽安。它使日期加減運(yùn)算、初始設(shè)置蓬推、日期變更以及基于指定格式解析轉(zhuǎn)換變得方便妆棒、易讀。P.S. 相比前一段時(shí)間推薦另一個(gè)類似日期庫(kù)(Punctual.swift O網(wǎng)頁(yè)鏈接)功能更豐富沸伏。
macoscope/SwiftyStateMachine:應(yīng)用好狀態(tài)機(jī)糕珊,不僅提高程序可維護(hù)性,更大大增強(qiáng)了程序健壯性毅糟。
benzguo/MusicKit:一套音樂(lè)編輯及創(chuàng)作框架红选。懂音樂(lè)、玩音樂(lè)的同學(xué)值得擁有姆另。
ArtSabintsev/FontBlaster:調(diào)用自定義字體封裝類喇肋。很實(shí)用、很方便迹辐。
phimage/Prephirences:這個(gè)庫(kù)可以讓開(kāi)發(fā)者更方便管理蝶防、讀寫(xiě)應(yīng)用的配置信息。很實(shí)用明吩。
radex/SwiftyTimer:一個(gè)更友好间学、更簡(jiǎn)單的時(shí)間操作 NSTimer 擴(kuò)展。P.S. 類似針對(duì)日期有 Punctual.swift 和 Timepiece贺喝。
liufan321/SwiftQRCode:簡(jiǎn)單菱鸥、實(shí)用的 QR Code 掃描識(shí)別及生成庫(kù)。
emaloney/CleanroomLogger:相當(dāng)于 CocoaLumberjack 或 Log4j 的 Swift 版本躏鱼,功能上甚至更強(qiáng)大氮采。另外,源代碼中已經(jīng)內(nèi)含了完整的 API 文檔染苛,使用非常方便鹊漠。
Khan/Prototope:一款輕量的 Javascript 橋接 Swift 庫(kù)。對(duì)于 JS 控茶行,或許可以從玩這個(gè)項(xiàng)目開(kāi)始 iOS 原型開(kāi)發(fā)躯概。
malcommac/SwiftDate:特別完整、強(qiáng)大的日期操作管理類庫(kù)畔师。它幾乎涵蓋了已知開(kāi)源日期類庫(kù)所有優(yōu)秀特性娶靡。是一款值得毫不猶豫收錄的類庫(kù)。
nghialv/Future:基于微框架設(shè)計(jì)思想的異步執(zhí)行及結(jié)果響應(yīng)類看锉。由示例發(fā)現(xiàn)姿锭,代碼即簡(jiǎn)單又干凈。
alexeyxo/protobuf-swift:Protocol Buffers 的 Swift 語(yǔ)言實(shí)現(xiàn)庫(kù)伯铣。P.S. Protocol Buffers 是 Google 開(kāi)源項(xiàng)目呻此,主要功能是實(shí)現(xiàn)直接序列化結(jié)構(gòu)化的對(duì)象數(shù)據(jù),方便跨平臺(tái)快速傳遞腔寡,開(kāi)發(fā)者也可以直接修改 protobuf 中的數(shù)據(jù)焚鲜。相比 XML 和 JSON,protobuf 解析更快放前,存儲(chǔ)更小忿磅。
soffes/SyntaxKits:TextMate 風(fēng)格語(yǔ)法高亮類庫(kù)(基于 Swift 2.0)。
glock45/swifter:一款極其輕量的 HTTP 服務(wù)器引擎犀斋。#Swift 2#
andreacremaschi/GEOSwift:可輕松地處理地理對(duì)象模型和相關(guān)地形操作贝乎,是一個(gè)極其易用的地理封裝庫(kù)(集成 MapKit 和 Quicklook)。絕佳好輪子叽粹,不容錯(cuò)過(guò)览效。
圖片
kaishin/ImageScout:最小網(wǎng)絡(luò)代價(jià)獲得圖片大小(寬和高)及類型虫几,它對(duì)于很多場(chǎng)合锤灿,比如:布局和排版都有積極作用。
kaishin/gifu:高性能 GIF 顯示類庫(kù) Swift 版本辆脸。
indragiek/DominantColor:采用YUV色域編碼規(guī)則及K均值聚類算法提取圖片代表色開(kāi)源項(xiàng)目但校。很實(shí)用,很贊啡氢!
iSame7/Panoramic:該項(xiàng)目通過(guò) Core Motion 實(shí)現(xiàn)了變換角度移動(dòng)手機(jī)時(shí)状囱,使圖片顯示產(chǎn)生對(duì)應(yīng)位置及角度的變換术裸。從而達(dá)到了具有現(xiàn)場(chǎng)感的圖片瀏覽功能。
gavinbunney/Toucan:小而美的圖片變換及處理類(支持:resize, clip, crop, scale, Ellipse Mask, Rounded Rect Mask, Image Mask)亭枷。功能略有超預(yù)期的感覺(jué)袭艺。
schwa/SwiftGraphics:一個(gè)易學(xué)、易用的繪圖工具庫(kù)封裝叨粘。作者很勤勞猾编,項(xiàng)目正在持續(xù)更新中。
contentful-labs/Concorde:一個(gè)可用于下載和解碼漸進(jìn)式 JPEG 的庫(kù)升敲。特定場(chǎng)合很有用答倡。類庫(kù)的調(diào)用方法也很自然、方便驴党。
FlexMonkey/SnapSwift:一款 Snapseed 風(fēng)格濾鏡及參數(shù)編輯菜單瘪撇。彈出菜單項(xiàng)后,上下港庄、左右滑動(dòng)即可調(diào)整濾鏡參數(shù)设江。
kiavashfaisali/KFSwiftImageLoader:極高性能、輕量攘轩、低功耗網(wǎng)絡(luò)圖片異步加載擴(kuò)展庫(kù)(支持 iOS 和 WatchKit)叉存。良好的緩存管理機(jī)制保證的作者設(shè)計(jì)初衷。P.S. 作者曾開(kāi)發(fā)過(guò) KFWatchKitAnimations:一款為 ? Watch 提供 60 幀動(dòng)畫(huà)顯示效果解決方案及示例度帮。
yannickl/DynamicColor:強(qiáng)大的顏色操作擴(kuò)展類歼捏。通過(guò)該類,你可以通過(guò)擴(kuò)展方法基于某個(gè)顏色得到不同深淺笨篷、飽和度瞳秽、灰度、色相率翅,以及反轉(zhuǎn)后的新顏色练俐。是不可多得的好類庫(kù)。
Jan0707/SwiftColorArt:根據(jù)圖片色系決定所在界面背景色及字體顯示顏色冕臭。類庫(kù)及示例代碼也很簡(jiǎn)潔且易于使用腺晾。這樣的項(xiàng)目真的帶給我驚艷。何況辜贵,該開(kāi)發(fā)者備注了這是他的第一個(gè)Swift項(xiàng)目悯蝉。
jathu/UIImageColors:又一款根據(jù)圖片獲取主色、次色托慨、背景色鼻由、詳細(xì)色的類。P.S. 另一款功能相同的類是 SwiftColorArt。
存儲(chǔ)
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:更容易地訪問(wèn) CoreData 對(duì)象封裝類庫(kù)蕉世。除了 CRUD蔼紧,還提供指針定位,強(qiáng)大的排序狠轻、篩選歉井,異步數(shù)據(jù)獲取,以及獨(dú)立線程后臺(tái)存取數(shù)據(jù)哈误。
Realm - a mobile database:Realm主打移動(dòng)數(shù)據(jù)庫(kù)。除了更輕量躏嚎,甚至還可以應(yīng)用到可穿戴蜜自。低耦、面向?qū)ο蟮脑O(shè)計(jì)風(fēng)格也是非常亮麗的卢佣。
nerdyc/Squeal:一套非常完善的 SQLite 數(shù)據(jù)庫(kù)訪問(wèn) API重荠,無(wú)論建庫(kù),建表虚茶,CRUD 等常用數(shù)據(jù)庫(kù)操作命令都進(jìn)行了很好的封裝戈鲁,另外,版本管理嘹叫、事務(wù)管理婆殿、并發(fā)管理、命令執(zhí)行及 Prepare Statement 等都提供相應(yīng)支持罩扇。它是一套不可多得的SQLite管理訪問(wèn)庫(kù)婆芦。
stephencelis/SQLite.swift:簡(jiǎn)單、輕量喂饥,或是使用上最 SQL 的 SQLit e封裝庫(kù)消约。
BjornRuud/Swiftache:Mustache 的 Swift 語(yǔ)言實(shí)現(xiàn)版本。
Haneke/HanekeSwift:貌似這個(gè)輕量地帶緩存圖片組件還不錯(cuò)员帮。主要功能包括圖片二級(jí)緩存或粮、異步加載、后臺(tái)執(zhí)行捞高、自動(dòng)縮放等氯材。感興趣的同學(xué)可以試用一下。
SugarRecord/SugarRecord:相對(duì)于 SQL硝岗,CoreData 可以更方便浓体、高效存儲(chǔ)數(shù)據(jù),而 SugarRecord 類庫(kù)可以讓你更方便的使用 CoreData辈讶,同時(shí)作者已經(jīng)封裝好 iCloud命浴,使你的應(yīng)用開(kāi)發(fā)更如虎添翼。
michaelarmstrong/SuperRecord : Swift 版 CoreData 框架擴(kuò)展類庫(kù)。相對(duì)于同類型 CoreData 框架庫(kù) SugarRecord/SugarRecord生闲,SuperRecord 要簡(jiǎn)單媳溺、輕量得多。很棒的快速開(kāi)發(fā)類庫(kù)碍讯。
aschuch/AwesomeCache:Swift 語(yǔ)言寫(xiě)的高效能緩存對(duì)象存儲(chǔ)及管理悬蔽,定義及使用簡(jiǎn)單、易于理解捉兴。支持為每個(gè) Cache 對(duì)象設(shè)定緩存有效期蝎困。
daltoniam/Skeets:網(wǎng)絡(luò)圖片的獲取、緩存及顯示類庫(kù)倍啥,支持緩存的清理及時(shí)效性管理禾乘。
evermeer/EVCloudKitDao:一套使用 CloudKit 簡(jiǎn)單封裝庫(kù)。作者還提供了示例項(xiàng)目及程序供開(kāi)發(fā)者參考使用虽缕。
andrelind/Breeze:輕量 CoreData 管理封裝庫(kù)始藕。支持 iCloud 。
arkverse/SwiftRecord:基于 Core Data 極為輕量氮趋、易用的對(duì)象持久化工具庫(kù)伍派,相當(dāng)于 ActiveRecord 的 Swift 版本。
JohnEstropia/CoreStore:提供高可讀性剩胁,一致性及安全性的 Core Data 管理類庫(kù)诉植。 其中事務(wù)管理及查詢是其比較大的亮點(diǎn),整套 API 功能完整昵观,風(fēng)格傳統(tǒng)又實(shí)用倍踪。非常值得收入。
遠(yuǎn)程訪問(wèn)
Minimalistic Swift HTTP request agent for iOS and OS X:一個(gè)簡(jiǎn)單索昂、小巧建车、實(shí)用的 HTTP 請(qǐng)求 Swift 語(yǔ)言實(shí)現(xiàn)類(僅一個(gè) Agent.swift 類)
lingoer/GRequest:"@李潔信:個(gè)人認(rèn)為 AFNetworking 這種較重的第三方網(wǎng)絡(luò)庫(kù)將逐漸淡出舞臺(tái),而像樓主這種基于 NSURLSession 并充分利用 Swift 特性寫(xiě)出來(lái)的小而美的庫(kù)會(huì)受到更多人的青睞椒惨!" 作者解讀《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)秀開(kāi)源類實(shí)現(xiàn)月洛。
aleclarson/emitter-kit:用 EmitterKit 代替 NSNotificationCenter。這個(gè)庫(kù)貌似短小孽锥、精悍嚼黔、實(shí)用的樣子细层。更重要是語(yǔ)法精練。
daltoniam/starscream:Swift 版本 WebSocket 客戶端類庫(kù)唬涧,支持 iOS/OS X 疫赎。 使用方便,跨平臺(tái)開(kāi)發(fā)不可或缺的“輪子”碎节。
shuoli84/SocketIOCocoa:又一款 WebSocket 實(shí)用客戶端類庫(kù)捧搞,作者提供了詳細(xì)的測(cè)試用例可以做為示例代碼使用。
socketio/socket.io-client-swift:WebSockect 客戶端類庫(kù)狮荔。開(kāi)放的通訊協(xié)議胎撇,有利于構(gòu)建強(qiáng)大地跨平臺(tái)應(yīng)用。
marcelofabri/BigBrother:網(wǎng)絡(luò)請(qǐng)求活動(dòng)狀態(tài)監(jiān)視器類殖氏。由于 Alamofire 庫(kù)并無(wú)此項(xiàng)特性晚树,因此它可以做為 Alamofire 的一個(gè)擴(kuò)展功能。
ishkawa/APIKit:為不同來(lái)源或類型 Web 服務(wù)受葛,提供安全地可定制化網(wǎng)絡(luò)請(qǐng)求 API 的基礎(chǔ)類庫(kù)。很好的面向?qū)ο笤O(shè)計(jì)思路實(shí)例偎谁。
contentful-labs/Stargate:通過(guò) iPhone 橋接實(shí)現(xiàn) Mac 與 Watch 的即時(shí)通訊总滩。Stargate 通過(guò)封裝兩個(gè)優(yōu)秀的基礎(chǔ)類庫(kù) MMWormhole 和 PeerKit 實(shí)現(xiàn)高效的通訊應(yīng)用。
JustHTTP/Just:小而美的 HTTP 類巡雨。功能簡(jiǎn)單闰渔、直接、完整且健壯性高铐望。
CloudKitSpace/CKSIncrementalStore:基于 CloudKit 服務(wù)器實(shí)現(xiàn)多終端數(shù)據(jù)同步冈涧。附示例動(dòng)態(tài)圖。
社交網(wǎng)絡(luò)
lingoer/SwiftWeiboKit:"封裝了整個(gè) OAuth 2.0 的授權(quán)流程,并提供了幾個(gè)簡(jiǎn)便易用的請(qǐng)求方法"
A Twitter framework for iOS & OS X written in Swift:一套很完整的 Twitter 訪問(wèn)框架類庫(kù)正蛙,支持 iOS/OS X
框架
robb/Cartography:Set up your Auto Layout constraints declaratively. 這是有關(guān)自動(dòng)布局約束一個(gè)實(shí)用的 Swift 項(xiàng)目督弓,代碼看似簡(jiǎn)單清晰,不過(guò)由于設(shè)計(jì)巧妙乒验。代碼解讀 By @kaiyuz
railsware/Sleipnir:一個(gè)基于 Swift 的行為驅(qū)動(dòng)開(kāi)發(fā)框架(BDD-style framework)愚隧。API 安裝,示例及說(shuō)明相對(duì)比較齊全锻全。
Quick/Quick:另一款基于 Swift 的行為驅(qū)動(dòng)開(kāi)發(fā)框架狂塘。
inamiy/SwiftTask: 一個(gè)很標(biāo)準(zhǔn)的任務(wù)及其生命周期管理類庫(kù)。作者還附上了一個(gè)基于 Alamofire 庫(kù)完成的網(wǎng)絡(luò)文件下載的任務(wù)管理示例鳄厌。
inamiy/SwiftState:Swift 版本 State Machine荞胡,這是 SwiftTask 的姐妹篇。開(kāi)發(fā)過(guò) Workflow 類應(yīng)用的同學(xué)有沒(méi)有很親切了嚎。
colemancda/NetworkObjects:基于Swift的輕量版HttpServer框架泪漂,可以做為iOS/OS X分布式對(duì)象的替代廊营。可惜缺少演示或示例代碼窖梁。
Masonry/Snappy:一個(gè)基于 AutoLayout 封裝赘风,語(yǔ)法簡(jiǎn)潔的輕量級(jí)布局框架。當(dāng)然纵刘,用代碼還是 storyboard邀窃,全憑開(kāi)發(fā)者喜好。若偏好可視化自動(dòng)布局假哎,@DevTalking 的兩篇譯文值得參考《Swift 自適應(yīng)布局教程》和《為 iPhone 6 設(shè)計(jì)自適應(yīng)布局》瞬捕。
jpsim/PeerKit:基于事件驅(qū)動(dòng)的多端對(duì)等連接開(kāi)源框架。作者提供了該組件使用案例jpsim/CardsAgainst舵抹,具體引用代碼詳見(jiàn)這里肪虎。
Quick/Nimble:功能更強(qiáng)于Xcode自帶測(cè)試框架(XCTest)的測(cè)試類庫(kù)。
venmo/DVR:針對(duì)網(wǎng)絡(luò)請(qǐng)求的測(cè)試框架惧蛹,超實(shí)用的工具扇救。且支持 iOS, OSX, watchOS 全平臺(tái)。
owensd/swift-perf:針對(duì) Swift 的性能測(cè)試方案香嗓。通過(guò)抽樣場(chǎng)景關(guān)鍵代碼與 C 或 Objective-C 的比較做為其測(cè)試基準(zhǔn)迅腔。
nghialv/MaterialKit:Swift 版 Google Material Design 組件庫(kù)。雖然個(gè)人并不推薦在 iOS 平臺(tái)上使用非 iOS 風(fēng)格界面靠娱,不過(guò)沧烈,對(duì)于 Android 強(qiáng)迫癥“患者”,多一種選擇也是友好的像云。順帶附上 Google 提供的開(kāi)源Material Design 圖標(biāo)集锌雀,可以一起收入。
facebook/AsyncDisplayKit:它是由 Facebook 開(kāi)發(fā)并用于其 Paper 應(yīng)用的 iOS UI 框架迅诬,它主要解決問(wèn)題是提供界面的高流暢性切換及更靈敏的響應(yīng)腋逆,解決思路是將部分 UI 渲染及復(fù)雜計(jì)算交由獨(dú)立于主線程的處理程序負(fù)責(zé)。中譯教程《AsyncDisplayKit 教程 - 達(dá)到 60 FPS 的滾動(dòng)幀率 By @nixzhu》侈贷,教程原文《AsyncDisplayKit Tutorial: Achieving 60 FPS scrolling》闲礼。
mutualmobile/MMWormhole:提供了 iOS 應(yīng)用與擴(kuò)展之間的消息傳遞,其最有價(jià)值之處當(dāng)屬 iPhone 與 ? Watch 間的消息傳遞铐维,從而實(shí)現(xiàn)相互操控的功能柬泽。
Thomvis/BrightFutures:漫長(zhǎng)或復(fù)雜計(jì)算由獨(dú)立線程異步來(lái)完成。
Khan/Prototope:雖然看不懂這套用戶交互層面的輕量級(jí)原型框架用處在哪里(哪位同學(xué)能給俺提示一下)嫁蛇?不過(guò)锨并,作者將這套框架的 Swift API完整橋接為 JS 接口倒是很有意思。
MHaroonBaig/MotionKit:為核心運(yùn)動(dòng)框架(The Core Motion framework)提供友好的類庫(kù)封裝睬棚,以更方便使用三軸陀螺儀和加速感應(yīng)器特性第煮。
uber/jetstream-ios:一款 Uber 的 MVC 框架解幼。它同時(shí)提供了多用戶實(shí)時(shí)通訊支持,一旦啟動(dòng) JetStream 后端服務(wù)包警,通過(guò) WebSocket 協(xié)議可以分分鐘建立多用戶實(shí)時(shí)通訊應(yīng)用撵摆。
jessesquires/JSQNotificationObserverKit:一款輕量、易用的通知發(fā)送及響應(yīng)框架類庫(kù)害晦。作者是知名開(kāi)源項(xiàng)目 JSQMessagesViewController(Objective-C 版即時(shí)聊天)的作者 Jesse Squires 特铝,也是一位知名博主,收錄過(guò)其文章『An analysis of sorts between Objective-C and Swift』壹瘟。
morizotter/TouchVisualizer:實(shí)用的多點(diǎn)觸摸可視化組件鲫剿。擴(kuò)展并作用于 UIWindows,結(jié)構(gòu)上提供了簡(jiǎn)單地針對(duì)觸摸顯示定制稻轨,比如觸摸點(diǎn)的顏色灵莲。這個(gè)組件對(duì)于需要做應(yīng)用演示的同學(xué)尤其有用。
FutureKit/FutureKit:“是一個(gè) 100% Swift 實(shí)現(xiàn)的 Future/Promises 庫(kù)殴俱,由 Swift Generic 帶來(lái)的類型安全政冻、由 GCD 帶來(lái)的線程安全,通過(guò) FutureKit 可以在 iOS/OS X 下靈活玩轉(zhuǎn) Future/Promises 式編程了”线欲。推薦者:@圖拉鼎
SwiftBond/Bond:使用簡(jiǎn)單明场、易于理解的對(duì)象綁定框架。比如:你可以使用代碼 textField ->> label 將輸入框文本映射到標(biāo)簽中的文字屬性询筏,當(dāng)文本變化時(shí)榕堰,標(biāo)簽文字隨動(dòng)變化竖慧。 真的很方便嫌套。
nabilfreeman/ios-universal-webview-boilerplate: 快速封裝 WebApp 到 iOS 應(yīng)用,即便你毫無(wú) Swift 編程經(jīng)驗(yàn)圾旨。
FabrizioBrancati/BFKit-Swift:作者說(shuō)這套工具庫(kù)可以提高應(yīng)用開(kāi)發(fā)效率踱讨。不知效果如果?有興趣的同學(xué)可以試用一下砍的。