歡迎光臨
每天分享高質量文章

一個餓了麼竟使用了30多個開源軟體

開源最前線(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獲取文章目錄

贊(0)

分享創造快樂