開源最前線(ID:OpenSourceTop) 猿妹整編
https://www.itcodemonkey.com/article/3792.html
前不久,猿妹才發現支付寶使用了三十多款開源軟體,今天開啟餓了麼發現,餓了麼也使用了33款開源軟體
上次和大家分享的是Android版支付寶使用的開源專案,今天就和你們分享下iOS版餓了麼使用的開源專案:
1、1passwordextension
1Password是一款適用於iPhone/iPod touch和iPad/iPad mini的通用應用,旨在幫助使用者在自己的應用中使用第三方密碼管理器。支援Swift 4及iOS 8以上的版本(專案地址:https://github.com/fahlout/PasswordExtension)
2、AFNetworking
AFNetworking是一個適用於iOS以及Mac OS X的網路庫,它基於Foundation URL載入系統,擴充套件了Cocoa內建的強大的高階網路抽象。擁有良好的架構,豐富的api,以及模組化構建方式,使得使用起來非常輕鬆。(專案地址:https://github.com/AFNetworking/AFNetworking)
3、Blockskit
BlocksKit 是一個開源的與Cocoa緊密集合的基礎性框架,BlocksKit並沒有建立新的宏,函式,方法和類,只是對Cocoa類的一個擴充套件,是一個 blocks的大集合。BlocksKit給一些類帶來了更好的block支援。(專案地址:https://github.com/BlocksKit/BlocksKit)
4、BoringSSL
BoringSSL 是谷歌建立的 OpenSSL 分支,但使用BoringSSL的程式碼不能保證API或ABI的穩定性,而建立BoringSSL則是因為谷歌使用了超過70個OpenSSL補丁,部分被接受合併到了OpenSSL主庫,但大部分沒有。隨著Android、Chrome和其它專案開始需要這些補丁的子集,事情日益變得複雜,要保證所有補丁在不同程式碼庫正常工作需要太多精力。所以他們決定建立OpenSSL分支。(專案地址:https://github.com/google/boringssl)
5、CocoaLumberjack
CocoaLumberjack 是一個快速、簡單,但很強大的日誌框架,用於 Mac OS X 和 iOS 系統。(專案地址:https://github.com/CocoaLumberjack/CocoaLumberjack)
6、fishhook
fishhook 是一個非常簡單的庫,它允許支援在 iOS 上的模擬器和裝置執行Mach-O,並提供動態系結服務。此功能類似在OS X 系統上使用的 DYLD_INTERPOSE 功能。你可以透過使用 fishhook 實現呼叫/跟蹤功能(如:auditing for double-close issues with file descriptors)。(專案地址:https://github.com/facebook/fishhook)
7、FMDB
FMDB是一款簡潔、易用的封裝庫,是SQLite的C API。以OC的方式封裝了SQLite的C語言API,使用起來更加的方便。(專案地址:https://github.com/ccgus/fmdb)
8、Geohash
geohash是一種地址編碼,它能把二維的經緯度編碼成一維的字串。lbs可以說是一個基礎應用,geohash對於解決附近地點搜尋提供了一個有效的解決方案。(專案地址:https://github.com/CloudSide/geohash)
9、gRPC
gRPC 是一個高效能、開源和通用的 RPC 框架,面向移動和 HTTP/2 設計。目前提供 C、Java 和 Go 語言版本,分別是:grpc, grpc-java, grpc-go. 其中 C 版本支援 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支援(專案地址:https://github.com/grpc/grpc)
10、gRPC-Core
C 語言 gRPC 實現(專案地址:https://github.com/tony612/grpc-core)
11、gRPC-ProtoRPC
gRPC中的一個類,前期的 gRPC 開發對 ObjC 並不瞭解,甚至於他們自己的 gRPC-ProtoRPC 庫中類都是沒有任何字首,如 ProtoRPC,直到後期才開始新增 GRPC 作為字首:GRPCProtoCall
12、gRPC-RxLibrary
gRPC的Reactive 拓展
13、IGListKit
IGListKit 是 Instagram 程式員做的一個資料驅動的 UICollectionView 框架,為了構建快速和可擴充套件的串列。另外,它有助於你在 app 結束對於大量檢視控制器的使用。(專案地址:https://github.com/Instagram/IGListKit)
14、KVOController
Key-value 的監控是一個 MVC 應用中非常有用的技術。KVOController (來自 facebook)構建了一個基於 Cocoa 的 time-tested key-value 監控實現,提供簡單方便、執行緒安全的 API。(專案地址:https://github.com/facebook/KVOController)
15、libextobjc
libextobjc 是用於擴充套件 Objective-C 程式語言的模組化的 Cocoa 庫。libextobjc是非常模組化的 – 大部分的類和模組可以使用不超過一個或兩個依賴項。(專案地址:https://github.com/jspahrsummers/libextobjc)
16、Lottie
Lottie 是 Airbnb 開發的一款能夠為原生應用新增動畫效果的開源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能夠實時渲染 After Effects 動畫特效。(專案地址:https://github.com/airbnb/lottie-ios)
17、Mantle
Mantle 是 Cocoa 和 Cocoa Touch 的模型框架,你可以透過它為你的 Cocoa 和 Cocoa Touch 寫簡單的模型層。 (專案地址:https://github.com/Mantle/Mantle)
18、masonry
Masonry是一 個用來佈局的jQuery外掛,配置Masonry相當容易,只需要在jQuery指令碼中的wrapping container元素中加上.masonry()方法。(專案地址:https://github.com/desandro/masonry)
19、MBProgressHUD
蘋果的應用程式一般都會用一種優雅的,半透明的進度顯示效果,不過這個API是不公開的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一個替代方案,而且在使用者角度上,實現的效果根本看不出和官方程式有什麼差別。(專案地址:https://github.com/jdg/MBProgressHUD)
20、MD5Digest
這是一個非常簡單的NSString類別,可以從給定的MD5摘要中建立NSString。(專案地址:https://github.com/keith/MD5Digest)
21、nanopb
google protocbuf第三方庫nanopb的嗎,它特別適用於微控制器。(專案地址:https://github.com/nanopb/nanopb)
22、OAStackView
iOS 9 引入了非常酷的 UIStackView ,而 OAStackView 可將這個 UIStackView 移植到 iOS7+版本(專案地址:https://github.com/nsomar/OAStackView)
23、Protobuf
Google Protocol Buffer(簡稱 Protobuf)是一種輕便高效的結構化資料儲存格式,平臺無關、語言無關、可擴充套件,可用於通訊協議和資料儲存等領域(專案地址:https://github.com/google/protobuf)
24、Regex Categories
Regex Categories 是一款為 NSRegularExpression和 NSString採集 objective-c類別的工具,使他們可用性更高更簡潔。 (專案地址:https://github.com/bendytree/Objective-C-RegEx-Categories)
25、SAMKeychain
簡單的Objective-C封裝,SAMkeychain可以用來儲存使用者的隱私資訊。(專案地址:https://github.com/soffes/SAMKeychain)
26、SDWebImage
這個庫提供了一個支援快取的非同步影象下載器。用SDWebImage呼叫網站上的圖片,跟本地呼叫內建在應用包裡的圖片一樣簡單。操作也很簡單。(專案地址:https://github.com/rs/SDWebImage)
27、SSZipArchive
SSZipArchive是很完善的壓縮及解壓縮工具,基於miniZip的修改及封裝,API更加簡潔實用。(專案地址:https://github.com/wuhaiwei/SSZipArchive)
28、SZTextView
SZTextView 用於替代內建的 UITextView,實現了 placeholder 功能。(專案地址:https://github.com/glaszig/SZTextView)
29、TacoSDK
TACO 是用於 Apache Cordova 的工具,來自微軟。TACO 提供了一組命令列工具,可以使混合應用程式(hybrid app)開發更加簡單、友好、快速。(專案地址:https://github.com/tensor-compiler/taco)
30、TTTAttributedLabel
TTTAttributedLabel 是 UILable 的改進,支援 NSAttributedStrings(專案地址:https://github.com/TTTAttributedLabel/TTTAttributedLabel)
31、UICollectionViewLeftAlignedLayout
UICollectionViewLeftAlignedLayout 實現左對齊的檢視佈局效果。(專案地址:https://github.com/mokagio/UICollectionViewLeftAlignedLayout)
32、UITableView+FDTemplateLayoutCell
UITableView+FDTemplateLayoutCell 是一個由國人團隊開發的最佳化計算 UITableViewCell高度的輕量級框架(專案地址:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell)
33、weexSDK
Weex 致力於使開發者能基於當代先進的 Web 開發技術,在集成了 WeexSDK 之後,你可以使用 JavaScript 和現代流行的前端框架來開發移動應用。(專案地址:https://github.com/alibaba/weex)
●編號508,輸入編號直達本文
●輸入m獲取文章目錄