国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Carthage初探:四大優(yōu)勢與四大劣勢

移動開發(fā)
Carthage 是 iOS/Mac 開發(fā)生態(tài)圈的一個包管理工具,與現(xiàn)在流行的 CocoaPods 不同,它是一個去中心化的解決方案。知道它已經(jīng)有一段時間了,但是一直沒有好好玩過,今天整合 Carthage 并自己創(chuàng)建 Carthage 兼容的 Framework 的過程中讓我有了很大的體會,決定寫篇文字記錄一下。

[[140844]]

Carthage 是 iOS/Mac 開發(fā)生態(tài)圈的一個包管理工具,與現(xiàn)在流行的 CocoaPods 不同,它是一個去中心化的解決方案。知道它已經(jīng)有一段時間了,但是一直沒有好好玩過,今天整合 Carthage 并自己創(chuàng)建 Carthage 兼容的 Framework 的過程中讓我有了很大的體會,決定寫篇文字記錄一下。

先來簡單介紹下 CocoaPods,這是現(xiàn)在注流的 iOS/Mac 的包管理工具,當前***版本是 0.37.2,已經(jīng)支持 iOS Frameworks。它管理著共 10,822 個庫(并在不斷增長),可以讓開發(fā)者非常容易地將一個第三方庫集成進來。

經(jīng)過一段時間的使用,我覺得 CocoaPods 有如下優(yōu)勢:

  • 使用方便,除編寫 Podfile 以外其他幾乎都是自動完成;
  • 軟件包數(shù)量多,主流支持;
  • 支持 iOS 8 Framework,當然也支持舊的靜態(tài)編譯;

但是 CocoaPods 作為一個有中心倉庫的解決方案,缺點也比較明顯:

  • 每次更新環(huán)境都需要連接到中心倉庫,比較耗時;
  • 開發(fā)者使用比較簡單,但是如果創(chuàng)建兼容 CocoaPods  的庫,就會相對繁瑣一些(盡管有了命令行);
  • 每次干凈編譯都會把所有第三方庫都重新編譯一次(看似很正確,直到我遇見 Carthage…)

看到這里你已經(jīng)知道 Carthage 的一個優(yōu)勢了,沒錯,使用 Carthage 的話,所有的第三方庫依賴,除非是更新的需要,不然平常干凈編譯 Project,它是不需要再次編譯的,大大加快平常編譯及 Archive 的時間。每次 Archive 及干凈編譯時都能節(jié)省幾十秒以上,還是非常可觀的,光是沖的這點,Carthage 就值得使用。

那么,Carthage 還有什么優(yōu)勢呢?前面還提到了,它是去中心化的,沒有中心服務器,這意味著每次配置和更新環(huán)境,只會去更新具體的庫,而不會有一個向中心服務器獲取***庫的索引這么個過程,如此一來,又省了很多時間。

「好了好了,如果還有第三個優(yōu)勢,我就被你說服,開始用 Carthage!」

第三個優(yōu)勢就是:與 CocoaPods 無縫集成!

「什么?一個項目使用兩套包管理工具,不會出差錯嗎?」

經(jīng)過我的親自試驗,我已經(jīng)非常***地將我的「奇點」項目改造成了 Carthage + CocoaPods 共同管理依賴這么一個配置。沒有絲毫沖突。

因為 Carthage 并不是像 CocoaPods 那樣一個全自動+全功能的第三方庫配置工具,它的設(shè)計哲學是,完成瑣碎的部分,并把主要控制權(quán)交給開發(fā)者,它不會像 CocoaPods 那樣一定會生成一個 Workspace,這意味著我可以自由地去控制 Framework 如何放進我的 Project/Workspace,是 Required 還是 Optional。當我發(fā)現(xiàn) Carthage 是如此靈活后,我毫不猶豫地在當前 CocoaPods 管理主要 Framework 的配置下,將少量其他 Framework 交給了 Carthage 管理。它們非常和諧地共存著。

事實上,我用 Carthage 還有一個主要原因,那就是創(chuàng)建第三方庫并讓 Carthage 可以使用實在是太簡單了,不需要弄像 CocoaPods 那樣結(jié)構(gòu)復雜+聲明文件式的模式,我只需要創(chuàng)建一個 Project/Framework,讓 Framework 這個 Scheme 設(shè)置成 Shared 就可以了。這樣,我的第三方庫的目錄非常干凈,沒有任何與 Carthage 有關(guān)的文件,Carthage 卻能去發(fā)現(xiàn)并使用它,我就喜歡這樣簡單純粹的技術(shù)解決方案。

以上,便是 Carthage 的第四個優(yōu)勢:結(jié)構(gòu)標準的項目天然就是 Carthage 庫。

列舉完這四大 Carthage 優(yōu)勢后,來談談它的不足:

  • 庫依然不如 CocoaPods 豐富:盡管很多庫不需要聲明并改造就直接可以被 Carthage 用,但依然有大量 CocoaPods 能用的庫不支持,我相信時間能解決這個問題;
  • 只支持 Framework,所以是 iOS 8 Only 了,隨著時間推移,這個也不會是問題;
  • 工具仍不完善:在使用過程中,我發(fā)現(xiàn)它無法在一個結(jié)構(gòu)復雜的項目中正確發(fā)現(xiàn)庫(比如有 iOS, Mac demo + framework 的結(jié)構(gòu));
  • 無法在 Xcode 里定位到源碼:如果你在寫代碼過程中,想跳轉(zhuǎn)到一個第三方庫去看具體的實現(xiàn),這是無法辦到的,Carthage 的配置只能讓你看到一個庫的頭文件;

不知道這四個劣勢到底會在什么時候得到解決(第四個因項目配置原因我覺得是無法解決了),但是綜合上面提到的四大優(yōu)勢,Carthage 的使用還是讓我省時又省力了。

責任編輯:倪明
相關(guān)推薦

2011-03-21 09:01:49

CSS框架

2013-01-06 10:44:43

微軟Windows 8云計算

2016-03-30 11:51:55

2013-05-20 08:56:13

2011-11-18 10:17:00

openSUSE 12發(fā)布

2012-02-16 08:34:48

配線架

2023-07-14 14:16:31

2011-10-19 10:07:18

桌面虛擬化云計算

2022-09-14 13:35:41

企業(yè)數(shù)據(jù)團隊

2011-10-21 13:59:48

Java云計算

2012-07-19 09:15:43

CloudStackEucalyptusvCloud Dire

2010-09-10 10:10:36

CSS屬性

2021-09-17 10:50:14

容器 Linux

2009-09-15 10:59:10

LinQ to SQL

2009-02-19 16:50:20

虛擬化虛擬機操作系統(tǒng)

2023-08-03 14:45:00

數(shù)字孿生

2021-04-12 16:00:18

工業(yè)物聯(lián)網(wǎng)物聯(lián)網(wǎng)

2010-11-25 10:55:34

2016-12-09 09:23:50

android組件Service

2021-02-20 23:24:33

同態(tài)加密HE隱私保護
點贊
收藏

51CTO技術(shù)棧公眾號

国产一二精品视频| 中文字幕在线视频不卡| 国产精品原创视频| 精品福利在线看| 人妻无码一区二区三区四区| 久久1电影院| 精品久久久久99| 1024在线视频| www.激情成人| 天天综合色天天综合色hd| 自拍偷拍欧美一区| 亚洲午夜未删减在线观看| 国产一区电影| 亚洲精品欧美在线| 日本a在线免费观看| 蘑菇福利视频一区播放| 青青草原成人在线视频| 国产精品久久久久久吹潮| 欧美一区永久视频免费观看| 狠狠干婷婷色| 国产午夜精品在线观看| 超碰成人在线免费观看| 亚洲国产影院| 91久久精品美女高潮| 国产精品对白| www国产精品com| 在线能看的av网址| 欧美一区二区三区四区五区| 色影视在线视频资源站| 18涩涩午夜精品.www| 日本www在线播放| 国产成人综合视频| 中文字幕一区二区三区四区五区六区| 亚洲性图久久| 97操在线视频| 一本一道久久a久久精品蜜桃| 97精品国产97久久久久久| 亚洲伦理网站| 久久精品视频免费播放| 成人高清一区| 最近2019中文字幕mv免费看| 欧美动物xxx| 在线中文字幕日韩| 99久久综合国产精品二区| 亚洲色图校园春色| 性高爱久久久久久久久| 一区二区三区高清国产| 国产精品原创视频| 欧美精品一区二区免费| 亚洲国产精品免费视频| 欧美高清视频在线播放| 久久精品国产亚洲5555| 97成人超碰免| 欧美综合一区| 91最新在线免费观看| 99热国内精品| 国产精品免费视频一区二区| 亚洲免费黄色| 中文字幕精品一区日韩| 国产91丝袜在线播放九色| 鲁一鲁一鲁一鲁一色| 国产欧美日韩另类一区| 一级毛片免费视频| 在线免费不卡视频| 欧洲在线视频| 这里只有精品久久| av综合网址| 91精品久久久久久久久| 1024精品一区二区三区| 视频一区亚洲| av影院午夜一区| 麻豆免费网站| 91麻豆精品国产91久久久久| av伦理在线| 欧美国产日韩视频| 亚洲最大av| 激情五月六月婷婷| 亚洲人成影院在线观看| 成a人片在线观看www视频| 亚洲国产精品嫩草影院久久| 久久免费资源| 国产精品国产自产拍高清av水多 | 国产区精品视频| 亚洲经典在线看| 免费看av软件| 国产精品毛片无遮挡高清| 性欧美孕妇孕交| 精品99一区二区| 影音先锋欧美激情| 国产精品乱码| 久久综合色之久久综合| 欧美18xxxxx| 亚洲天堂av在线播放| 欧美女优在线视频| 日本一区二区精品视频| 久久精品综合网| 在线观看美女网站大全免费| 中文字幕亚洲字幕| 亚洲成人一区| 大j8黑人w巨大888a片| 欧美日韩免费网站| 国产成人毛片| 91九色视频在线观看| 国产成人精品免费视频网站| 中国大陆高清aⅴ毛片| 亚洲免费中文字幕| 欧美~级网站不卡| 欧美精品色婷婷五月综合| 欧美性高清videossexo| 电影中文字幕一区二区| 国产精品美女诱惑| 成人欧美一区二区三区在线播放| 麻豆网站视频在线观看| 欧美中文字幕视频| 国产999精品久久| 国产爆初菊在线观看免费视频网站| 这里只有精品丝袜| 亚洲黄色影片| 97视频免费| 在线视频中文亚洲| 国产精品毛片一区二区三区| 免费女人黄页| 中文字幕久热精品视频在线| 尤物在线精品| 中国大陆高清aⅴ毛片| 久久精品视频导航| 日韩精品国产精品| 日本福利片高清在线观看| 久久人人爽人人| 国产传媒日韩欧美成人| caopo在线| 91情侣偷在线精品国产| 国产精品久久久久久福利一牛影视 | 国产精品久久综合av爱欲tv| 国产在线精品免费| 黄色网页网址在线免费| 国产成人亚洲综合青青| 99久久婷婷国产综合精品| 欧美野外wwwxxx| 国产日韩欧美精品| 午夜一区二区三区在线观看| 大型av综合网站| 18禁免费观看网站| 亚洲免费精彩视频| 精品系列免费在线观看| 在线观看免费视频你懂的| 草莓视频一区| 欧美日韩黄色大片| 国产欧美日韩| 狠狠干五月天| 国产精品69av| 亚洲男女一区二区三区| 成人福利一区| 污污动漫在线观看| 欧美极度另类性三渗透| 久久久综合网站| 91精品麻豆| 国产xxxx振车| 亚洲欧美国产高清va在线播| 蜜臀av亚洲一区中文字幕| 肉体视频在线| 在线免费观看成人网| 日韩电影在线观看中文字幕| 看电视剧不卡顿的网站| 无遮挡在线观看| 日本精品福利视频| 中文字幕欧美在线| 2022国产精品视频| 国产精品丝袜在线播放| 激情乱色小说视频| 91精品国产自产在线| 欧美专区在线观看一区| 亚洲黄页一区| 成人观看网址| 黄页免费在线观看视频| 久久91精品国产91久久跳| 国产精品进线69影院| 成人免费在线观看av| 成人午夜影视| 中文字幕一区二区中文字幕| 丝袜亚洲欧美日韩综合| 国产视频亚洲色图| 六月丁香久久丫| 久草在线青青草| 在线观看日韩片| 免费成人高清视频| 亚洲大片在线观看| 久久亚洲影院| 国产精品**亚洲精品| 老司机色在线视频| 色一情一乱一伦一区二区三区 | av一区观看| 日韩欧美精品在线视频| 国产主播一区二区三区| 91精品国产色综合久久不卡粉嫩| 欧美有码在线| 97香蕉久久| 一区二区三区久久网| 久久久久久国产精品美女| 欧美日韩精品在线播放|