前不久,猿妹才發(fā)現(xiàn)支付寶使用了三十多款開源軟件,今天打開餓了么發(fā)現(xiàn),餓了么也使用了33款開源軟件。
上次和大家分享的是Android版支付寶使用的開源項(xiàng)目,今天就和你們分享下iOS版餓了么使用的開源項(xiàng)目:
1Password是一款適用于iPhone/iPod touch和iPad/iPad mini的通用應(yīng)用,旨在幫助用戶在自己的應(yīng)用中使用第三方密碼管理器。支持Swift 4及iOS 8以上的版本(項(xiàng)目地址:https://github.com/fahlout/PasswordExtension)
2、AFNetworking
AFNetworking是一個(gè)適用于iOS以及Mac OS X的網(wǎng)絡(luò)庫,它基于Foundation URL加載系統(tǒng),擴(kuò)展了Cocoa內(nèi)置的強(qiáng)大的高級(jí)網(wǎng)絡(luò)抽象。擁有良好的架構(gòu),豐富的api,以及模塊化構(gòu)建方式,使得使用起來非常輕松。(項(xiàng)目地址:https://github.com/AFNetworking/AFNetworking)
3、Blockskit
BlocksKit 是一個(gè)開源的與Cocoa緊密集合的基礎(chǔ)性框架,BlocksKit并沒有創(chuàng)建新的宏,函數(shù),方法和類,只是對(duì)Cocoa類的一個(gè)擴(kuò)展,是一個(gè) blocks的大集合。BlocksKit給一些類帶來了更好的block支持。(項(xiàng)目地址:https://github.com/BlocksKit/BlocksKit)
4、BoringSSL
BoringSSL 是谷歌創(chuàng)建的 OpenSSL 分支,但使用BoringSSL的代碼不能保證API或ABI的穩(wěn)定性,而創(chuàng)建BoringSSL則是因?yàn)楣雀枋褂昧顺^70個(gè)OpenSSL補(bǔ)丁,部分被接受合并到了OpenSSL主庫,但大部分沒有。隨著Android、Chrome和其它項(xiàng)目開始需要這些補(bǔ)丁的子集,事情日益變得復(fù)雜,要保證所有補(bǔ)丁在不同代碼庫正常工作需要太多精力。所以他們決定創(chuàng)建OpenSSL分支。(項(xiàng)目地址:https://github.com/google/boringssl)
5、CocoaLumberjack
CocoaLumberjack 是一個(gè)快速、簡單,但很強(qiáng)大的日志框架,用于 Mac OS X 和 iOS 系統(tǒng)。(項(xiàng)目地址:https://github.com/CocoaLumberjack/CocoaLumberjack)
6、fishhook
fishhook 是一個(gè)非常簡單的庫,它允許支持在 iOS 上的模擬器和設(shè)備運(yùn)行Mach-O,并提供動(dòng)態(tài)綁定服務(wù)。此功能類似在OS X 系統(tǒng)上使用的 DYLD_INTERPOSE 功能。你可以通過使用 fishhook 實(shí)現(xiàn)呼叫/跟蹤功能(如:auditing for double-close issues with file descriptors)。(項(xiàng)目地址:https://github.com/facebook/fishhook)
7、FMDB
FMDB是一款簡潔、易用的封裝庫,是SQLite的C API。以O(shè)C的方式封裝了SQLite的C語言API,使用起來更加的方便。(項(xiàng)目地址:https://github.com/ccgus/fmdb)
8、Geohash
geohash是一種地址編碼,它能把二維的經(jīng)緯度編碼成一維的字符串。lbs可以說是一個(gè)基礎(chǔ)應(yīng)用,geohash對(duì)于解決附近地點(diǎn)搜索提供了一個(gè)有效的解決方案。(項(xiàng)目地址:https://github.com/CloudSide/geohash)
9、gRPC
gRPC 是一個(gè)高性能、開源和通用的 RPC 框架,面向移動(dòng)和 HTTP/2 設(shè)計(jì)。目前提供 C、Java 和 Go 語言版本,分別是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持(項(xiàng)目地址:https://github.com/grpc/grpc)
10、gRPC-Core
C 語言 gRPC 實(shí)現(xiàn)(項(xiàng)目地址:https://github.com/tony612/grpc-core)
11、gRPC-ProtoRPC
gRPC中的一個(gè)類,前期的 gRPC 開發(fā)對(duì) ObjC 并不了解,甚至于他們自己的 gRPC-ProtoRPC 庫中類都是沒有任何前綴,如 ProtoRPC,直到后期才開始添加 GRPC 作為前綴:GRPCProtoCall
12、gRPC-RxLibrary
gRPC的Reactive 拓展
13、IGListKit
IGListKit 是 Instagram 程序員做的一個(gè)數(shù)據(jù)驅(qū)動(dòng)的 UICollectionView 框架,為了構(gòu)建快速和可擴(kuò)展的列表。另外,它有助于你在 app 結(jié)束對(duì)于大量視圖控制器的使用。(項(xiàng)目地址:https://github.com/Instagram/IGListKit)
14、KVOController
Key-value 的監(jiān)控是一個(gè) MVC 應(yīng)用中非常有用的技術(shù)。KVOController (來自 facebook)構(gòu)建了一個(gè)基于 Cocoa 的 time-tested key-value 監(jiān)控實(shí)現(xiàn),提供簡單方便、線程安全的 API。(項(xiàng)目地址:https://github.com/facebook/KVOController)
15、libextobjc
libextobjc 是用于擴(kuò)展 Objective-C 編程語言的模塊化的 Cocoa 庫。libextobjc是非常模塊化的 - 大部分的類和模塊可以使用不超過一個(gè)或兩個(gè)依賴項(xiàng)。(項(xiàng)目地址:https://github.com/jspahrsummers/libextobjc)
16、Lottie
Lottie 是 Airbnb 開發(fā)的一款能夠?yàn)樵鷳?yīng)用添加動(dòng)畫效果的開源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能夠?qū)崟r(shí)渲染 After Effects 動(dòng)畫特效。(項(xiàng)目地址:https://github.com/airbnb/lottie-ios)
17、Mantle
Mantle 是 Cocoa 和 Cocoa Touch 的模型框架,你可以通過它為你的 Cocoa 和 Cocoa Touch 寫簡單的模型層。 (項(xiàng)目地址:https://github.com/Mantle/Mantle)
18、masonry
Masonry是一 個(gè)用來布局的jQuery插件,配置Masonry相當(dāng)容易,只需要在jQuery腳本中的wrapping container元素中加上.masonry()方法。(項(xiàng)目地址:https://github.com/desandro/masonry)
19、MBProgressHUD
蘋果的應(yīng)用程序一般都會(huì)用一種優(yōu)雅的,半透明的進(jìn)度顯示效果,不過這個(gè)API是不公開的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一個(gè)替代方案,而且在用戶角度上,實(shí)現(xiàn)的效果根本看不出和官方程序有什么差別。(項(xiàng)目地址:https://github.com/jdg/MBProgressHUD)
20、MD5Digest
這是一個(gè)非常簡單的NSString類別,可以從給定的MD5摘要中創(chuàng)建NSString。(項(xiàng)目地址:https://github.com/keith/MD5Digest)
21、nanopb
google protocbuf第三方庫nanopb的嗎,它特別適用于微控制器。(項(xiàng)目地址:https://github.com/nanopb/nanopb)
22、OAStackView
iOS 9 引入了非常酷的 UIStackView ,而 OAStackView 可將這個(gè) UIStackView 移植到 iOS7+版本(項(xiàng)目地址:https://github.com/nsomar/OAStackView)
23、Protobuf
Google Protocol Buffer(簡稱 Protobuf)是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)格式,平臺(tái)無關(guān)、語言無關(guān)、可擴(kuò)展,可用于通訊協(xié)議和數(shù)據(jù)存儲(chǔ)等領(lǐng)域(項(xiàng)目地址:https://github.com/google/protobuf)
24、Regex Categories
Regex Categories 是一款為 NSRegularExpression和 NSString采集 objective-c類別的工具,使他們可用性更高更簡潔。 (項(xiàng)目地址:https://github.com/bendytree/Objective-C-RegEx-Categories)
25、SAMKeychain
簡單的Objective-C封裝,SAMkeychain可以用來儲(chǔ)存用戶的隱私信息。(項(xiàng)目地址:https://github.com/soffes/SAMKeychain)
26、SDWebImage
這個(gè)庫提供了一個(gè)支持緩存的異步圖像下載器。用SDWebImage調(diào)用網(wǎng)站上的圖片,跟本地調(diào)用內(nèi)置在應(yīng)用包里的圖片一樣簡單。操作也很簡單。(項(xiàng)目地址:https://github.com/rs/SDWebImage)
27、SSZipArchive
SSZipArchive是很完善的壓縮及解壓縮工具,基于miniZip的修改及封裝,API更加簡潔實(shí)用。(項(xiàng)目地址:https://github.com/wuhaiwei/SSZipArchive)
28、SZTextView
SZTextView 用于替代內(nèi)置的 UITextView,實(shí)現(xiàn)了 placeholder 功能。(項(xiàng)目地址:https://github.com/glaszig/SZTextView)
29、TacoSDK
TACO 是用于 Apache Cordova 的工具,來自微軟。TACO 提供了一組命令行工具,可以使混合應(yīng)用程序(hybrid app)開發(fā)更加簡單、友好、快速。(項(xiàng)目地址:https://github.com/tensor-compiler/taco)
30、TTTAttributedLabel
TTTAttributedLabel 是 UILable 的改進(jìn),支持 NSAttributedStrings(項(xiàng)目地址:https://github.com/TTTAttributedLabel/TTTAttributedLabel)
31、UICollectionViewLeftAlignedLayout
UICollectionViewLeftAlignedLayout 實(shí)現(xiàn)左對(duì)齊的視圖布局效果。(項(xiàng)目地址:https://github.com/mokagio/UICollectionViewLeftAlignedLayout)
32、UITableView+FDTemplateLayoutCell
UITableView+FDTemplateLayoutCell 是一個(gè)由國人團(tuán)隊(duì)開發(fā)的優(yōu)化計(jì)算 UITableViewCell高度的輕量級(jí)框架(項(xiàng)目地址:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell)
33、weexSDK
Weex 致力于使開發(fā)者能基于當(dāng)代先進(jìn)的 Web 開發(fā)技術(shù),在集成了 WeexSDK 之后,你可以使用 JavaScript 和現(xiàn)代流行的前端框架來開發(fā)移動(dòng)應(yīng)用。(項(xiàng)目地址:https://github.com/alibaba/weex)
-
開源軟件
+關(guān)注
關(guān)注
0文章
209瀏覽量
15872 -
iOS
+關(guān)注
關(guān)注
8文章
3393瀏覽量
150369
原文標(biāo)題:一個(gè)餓了么竟使用了30多個(gè)開源軟件
文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論