偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iOS與開(kāi)源:一枝紅杏出墻來(lái)

移動(dòng)開(kāi)發(fā) iOS
對(duì)一般人而言,蘋(píng)果和其構(gòu)筑的iOS帝國(guó),給人的印象是一個(gè)圍墻花園(Wall Garden),如果你不在其中,就無(wú)法領(lǐng)略里面的勝景。對(duì)于開(kāi)發(fā)者而言也同樣是這樣,無(wú)論你用什么平臺(tái)工具開(kāi)發(fā)出來(lái)的iOS App,最后總是要用OS X上面的Xcode進(jìn)行編譯打包,并上傳到蘋(píng)果的開(kāi)發(fā)者中心,通過(guò)官方審核后才能最終與世人見(jiàn)面。在這之前,甚至沒(méi)有人知道你付出的心血。

對(duì)一般人而言,蘋(píng)果和其構(gòu)筑的iOS帝國(guó),給人的印象是一個(gè)圍墻花園(Wall Garden),如果你不在其中,就無(wú)法領(lǐng)略里面的勝景。對(duì)于開(kāi)發(fā)者而言也同樣是這樣,無(wú)論你用什么平臺(tái)工具開(kāi)發(fā)出來(lái)的iOS App,***總是要用OS X上面的Xcode進(jìn)行編譯打包,并上傳到蘋(píng)果的開(kāi)發(fā)者中心,通過(guò)官方審核后才能最終與世人見(jiàn)面。在這之前,甚至沒(méi)有人知道你付出的心血。

這個(gè)圍墻花園也是開(kāi)源支持者對(duì)蘋(píng)果頗有微詞的地方,不過(guò),現(xiàn)在這種情況已經(jīng)有所改變,在iOS開(kāi)發(fā)者的自發(fā)努力下,開(kāi)源意識(shí)和行動(dòng)慢慢深入人心。

 

蘋(píng)果的開(kāi)源

 

在討論iOS開(kāi)源之前,我們有必要先了解一下蘋(píng)果對(duì)開(kāi)源軟件的態(tài)度。

和一般人所想象的不同,蘋(píng)果對(duì)開(kāi)源軟件非常支持,它稱自己為***個(gè)將開(kāi)源軟件作為關(guān)鍵戰(zhàn)略的大型個(gè)人計(jì)算機(jī)公司,同時(shí)它也是開(kāi)源的重要參與者,對(duì)開(kāi)源的貢獻(xiàn)在眾多科技公司中是排名靠前的。

蘋(píng)果有專門(mén)的源碼官網(wǎng):opensource.apple.com,有自己的開(kāi)源協(xié)議APPLE PUBLIC SOURCE LICENSE(APSL),這是一個(gè)相對(duì)寬松的協(xié)議,已獲得了自由軟件基金會(huì)FSF的認(rèn)可。在源碼網(wǎng)站上標(biāo)注為APSL的軟件基本上都是蘋(píng)果貢獻(xiàn)的。在這里也有一個(gè)蘋(píng)果開(kāi)源軟件的具體列表。

其中,蘋(píng)果最為著名的開(kāi)源項(xiàng)目有下面兩個(gè):

Darwin:這是蘋(píng)果最重要的開(kāi)源項(xiàng)目,驅(qū)動(dòng)著蘋(píng)果OS X系統(tǒng),直到現(xiàn)在的Yosemite。它是一種類Unix的混合操作系統(tǒng),其內(nèi)核包括Mach、FreeBSD等。從2001年蘋(píng)果基于它開(kāi)發(fā)出Mac OS X 10.0時(shí)開(kāi)始就將它開(kāi)源,一直到現(xiàn)在。

WebKit:WebKit是瀏覽器引擎,它是KDE開(kāi)源項(xiàng)目旗下的KHTML和KJS的一個(gè)分支,但目前它的流行程度已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)后者,尤其在移動(dòng)互聯(lián)網(wǎng)領(lǐng)域幾乎統(tǒng)治了移動(dòng)瀏覽器。

蘋(píng)果的其它知名開(kāi)源項(xiàng)目還有為異構(gòu)計(jì)算打造的OpenCL,以及服務(wù)發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)Bonjour,以及作為主要贊助者的LLVM。

這些開(kāi)源項(xiàng)目任何一個(gè)拿出來(lái)都可以羞煞國(guó)內(nèi)的互聯(lián)網(wǎng)公司,并成為任何重視技術(shù)的公司的鎮(zhèn)山之寶。這些足以說(shuō)明,蘋(píng)果是開(kāi)源的積極參與者。

那么,既然是這樣,為什么它還被認(rèn)為封閉呢?

如果繼續(xù)深入了解一下我們會(huì)發(fā)現(xiàn),蘋(píng)果對(duì)開(kāi)源的態(tài)度是讓其為我所用,它的開(kāi)源目的是為了讓自己的產(chǎn)品更好,對(duì)于構(gòu)成自己產(chǎn)品核心的開(kāi)源項(xiàng)目蘋(píng)果是嚴(yán) 格控制的,因此可能和社區(qū)的貢獻(xiàn)者產(chǎn)生分歧。比如WebKit,2013年Google宣布推出它的分支,其中的原因之一就是蘋(píng)果的控制過(guò)嚴(yán),無(wú)法滿足滿 足搜索巨人的需求。

這種態(tài)度還可以在iOS系統(tǒng)中的開(kāi)源軟件看出,相較于OS X龐大的開(kāi)源軟件列表,iOS不僅開(kāi)源的系統(tǒng)版本嚴(yán)重滯后(截止發(fā)稿時(shí)才公布至iOS 6.1.3版),而且里面的軟件很少,大部分還是因?yàn)殚_(kāi)源協(xié)議的要求不得不公布(如一些GPL、LGPL協(xié)議下的開(kāi)源項(xiàng)目)。

但是,雖然蘋(píng)果對(duì)于iOS上的開(kāi)源非常謹(jǐn)慎,iOS開(kāi)發(fā)的生態(tài)圈卻呈現(xiàn)出樂(lè)于分享的形態(tài),這是為什么呢?首先需要?dú)w功于CocoaPods的崛起。

 

CocoaPods的崛起

 

CocoaPods是Objective-C編程語(yǔ)言的一個(gè)應(yīng)用程序級(jí)別的依賴管理器,作用是幫助開(kāi)發(fā)者管理程序中用到的第三方庫(kù)。在沒(méi)有 CocoaPods之前,我們需要手工的添加和配置和更新第三方庫(kù),由于第三方庫(kù)之間可能存在錯(cuò)綜復(fù)雜的依賴關(guān)系,因此這是一個(gè)繁瑣而令人頭疼的問(wèn)題。

CocoaPods自項(xiàng)目的發(fā)起者Eloy Durán從2011年9月發(fā)布***個(gè)正式版以來(lái),迅速受到廣大Objective-C開(kāi)發(fā)者的喜愛(ài),到本月它的總下載次數(shù)超過(guò)100萬(wàn)次,連Facebook發(fā)布的iOS第三方庫(kù)也支持CocoaPods,可見(jiàn)它的影響力。

CocoaPods的宗旨是提高第三方開(kāi)源庫(kù)的可見(jiàn)性和參與度,創(chuàng)建一個(gè)更中心化的生態(tài)系統(tǒng)。當(dāng)用戶使用它時(shí),需要獲取第三方庫(kù)的源碼進(jìn)行編譯,所 以,這是一個(gè)只有開(kāi)源參與者才能進(jìn)入的游樂(lè)場(chǎng)。CocoaPods本身托管在Github上,它所維護(hù)的第三方庫(kù)列表的主倉(cāng)庫(kù)也托管在Github上,它 的開(kāi)發(fā)社區(qū)非?;钴S,貢獻(xiàn)者高達(dá)200多人,曾獲得Github 2013年度最活躍的開(kāi)源項(xiàng)目前十名。

 

iOS開(kāi)源閉環(huán)

 

但是,光有CocoaPods并不能解決第三方庫(kù)的發(fā)現(xiàn)問(wèn)題,這時(shí)Github和一些代碼庫(kù)就派上用場(chǎng)了。大多數(shù)支持CocoaPods的第三方庫(kù)都托管在Github上,我們可以通過(guò)Github趨勢(shì)中的Objective-C語(yǔ)言分類進(jìn)行查看,而如CocoaControls或CocoaChina代碼庫(kù)這樣的第三方代碼庫(kù),則更專注于OS X/iOS領(lǐng)域的代碼,并且分類更細(xì)致,開(kāi)發(fā)者可以更順利的找到喜歡的第三方庫(kù)。

 

 

iOS開(kāi)源閉環(huán)

 

就這樣,CocoaPods – Github – 第三方代碼庫(kù) – 開(kāi)發(fā)者,這四者形成了一個(gè)iOS開(kāi)源的閉環(huán),隨著參與者的增多,變得越來(lái)越強(qiáng)大。

目前CocoaPods上的第三方庫(kù)已經(jīng)超過(guò)6000個(gè),越來(lái)越多的iOS開(kāi)發(fā)者將自己的代碼開(kāi)源并分享到CocoaPods里,這股鮮活的力量已經(jīng)潛移默化的改變了iOS開(kāi)發(fā)的生態(tài)。

值得一提的是,許多國(guó)人iOS開(kāi)發(fā)者也參與到這場(chǎng)開(kāi)源運(yùn)動(dòng)當(dāng)中,如Kevin、Lex、Onevcat、gavinkwoe、qfish、xhzengAIB等,并且其中不少人的項(xiàng)目在Github取得了不錯(cuò)的成績(jī)——當(dāng)國(guó)內(nèi)開(kāi)源界還在感嘆,國(guó)人對(duì)開(kāi)源的態(tài)度是如何只索取不貢獻(xiàn)的時(shí)候,國(guó)人iOS開(kāi)發(fā)者已經(jīng)參與到開(kāi)源中來(lái)并且結(jié)出碩果。

 

開(kāi)源運(yùn)動(dòng)對(duì)iOS開(kāi)發(fā)的影響

 

對(duì)iOS開(kāi)發(fā)有所了解的人會(huì)知道,iOS應(yīng)用開(kāi)發(fā)的難點(diǎn)在于數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)、UI動(dòng)畫(huà)等方面,如果沒(méi)有第三方庫(kù),自己寫(xiě)起來(lái)很費(fèi)勁,整個(gè)iOS App開(kāi)發(fā)的時(shí)間和成本也會(huì)水漲船高。有了第三方庫(kù),就能提高效率,讓開(kāi)發(fā)者專注于開(kāi)發(fā)核心邏輯和優(yōu)化上面,簡(jiǎn)化了iOS開(kāi)發(fā)的流程。

在Github上有超過(guò)2500 star的iOS圖表庫(kù)PNChart的作者Kevin表示,iOS的開(kāi)源項(xiàng)目就像積木塊,使用開(kāi)源項(xiàng)目進(jìn)行iOS開(kāi)發(fā),就像搭積木。毫無(wú)疑問(wèn),這會(huì)大大 降低iOS開(kāi)發(fā)的門(mén)檻,雖然這樣一來(lái)可能會(huì)造成iOS開(kāi)發(fā)者隊(duì)伍的良莠不齊,最終影響iOS應(yīng)用的質(zhì)量,但有著蘋(píng)果的把關(guān),相信問(wèn)題不會(huì)太大。而門(mén)檻降低 帶來(lái)的好處相比它的負(fù)面影響更大,一些好的應(yīng)用idea能夠更輕易的實(shí)現(xiàn),我們將擁有更多讓人眼前一亮的App。

目前,已經(jīng)有很多知名公司開(kāi)發(fā)的App都使用了第三方的iOS開(kāi)源庫(kù),比如FacebookPaper、Instagram、LinkedIn、 Skype等都大量使用了第三方庫(kù),國(guó)內(nèi)的互聯(lián)網(wǎng)公司也有不少使用的。這些公司都有能力開(kāi)發(fā)出自己的第三方庫(kù),但仍然選擇了“不重復(fù)造輪子”,說(shuō)明了這些 iOS第三方庫(kù)有存在的必要,并且已經(jīng)發(fā)揮了價(jià)值。

而另外還有一個(gè)現(xiàn)象是,Github上iOS相關(guān)的UI界面和動(dòng)效的開(kāi)源項(xiàng)目,它們多半都配有動(dòng)態(tài)圖片,形成Github上一道亮麗的風(fēng)景。這些項(xiàng) 目已經(jīng)半只腳踏進(jìn)了設(shè)計(jì)的層面,和蘋(píng)果對(duì)于設(shè)計(jì)嚴(yán)格保護(hù)不一樣,這些項(xiàng)目的貢獻(xiàn)者樂(lè)于分享他們所創(chuàng)造和發(fā)現(xiàn)的美妙效果,即使是設(shè)計(jì)師,甚至其它平臺(tái)的開(kāi)發(fā) 者也可以在它們身上汲取靈感。

就這樣,iOS開(kāi)發(fā)者自發(fā)的開(kāi)源行動(dòng)不僅漸漸改變了iOS開(kāi)發(fā)的方式,而且影響力將超出蘋(píng)果所設(shè)置的藩籬,成為開(kāi)源、開(kāi)放與自由精神的成功典范。就像墻內(nèi)的紅杏,不甘寂寞,勇敢攀上墻頭綻放,從此點(diǎn)亮了整個(gè)世界。

責(zé)任編輯:chenqingxiang 來(lái)源: CocoaChina
相關(guān)推薦

2010-09-29 10:05:29

2019-08-05 16:19:21

華為云

2016-03-21 09:30:39

SDNNFV

2009-03-24 09:37:07

2011-12-29 09:30:23

云計(jì)算云存儲(chǔ)

2017-10-16 11:48:07

彩電

2015-11-03 09:48:52

OpenStackUnitedStack有云

2017-09-15 13:44:00

軟件定義存儲(chǔ)存儲(chǔ)虛擬化IBM

2010-03-24 08:59:58

AdobeHTML 5Silverlight

2012-06-28 16:09:56

x86

2009-04-02 13:13:12

Linux瀏覽器Chromium

2017-12-26 14:26:42

潤(rùn)乾永洪BI系統(tǒng)

2009-04-03 09:03:12

瀏覽器Java性能測(cè)試

2012-05-14 13:23:04

Windows XP操作系統(tǒng)

2023-09-27 06:14:45

PSLC固態(tài)硬盤(pán)

2014-12-12 11:10:31

微軟公有云Windows Azu

2014-12-08 14:42:31

華三

2021-03-05 17:50:59

云電腦

2014-12-02 11:05:28

華為敏捷WiFi

2020-04-15 16:02:38

5G網(wǎng)絡(luò)技術(shù)
點(diǎn)贊
收藏

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