蘋(píng)果Bitcode將能夠預(yù)測(cè)公司未來(lái)CPU計(jì)劃
蘋(píng)果的 WWDC 主題演講大會(huì)顯然把所有人的注意力都吸引了過(guò)去,隨后幾天的技術(shù)研討會(huì)并沒(méi)有受到太多人的關(guān)注,而這并不能表明這些技術(shù)研討會(huì)上就沒(méi)有值得我們注意的東西了。在一場(chǎng)名為 Platforms Sate of the Union 的研討會(huì)上,Andreas Wendker 就提到了 Bitcode。Bitcode 支持將未來(lái)編譯器優(yōu)化使用到已經(jīng)提交的應(yīng)用上。而且它還將支持應(yīng)用商店增加支持新的 CPU 架構(gòu)。更具體地說(shuō)是在一款應(yīng)用已經(jīng)提交到應(yīng)用商店中之后。
本文引用地址:http://butianyuan.cn/article/275901.htm
在這種情況下,即使蘋(píng)果使用了新的硬件,開(kāi)發(fā)者也不需要再次提交應(yīng)用。Bitcode是LLVM編譯器中間代碼的編碼。LLVM的前端可以理解編程語(yǔ)言,這些程序用于編寫(xiě)應(yīng)用。在后端LLVM能夠理解如何展示用戶所下載的應(yīng)用的可執(zhí)行版本。Bitcode就介于這兩步之間。
LLVM 將一款應(yīng)用的源代碼轉(zhuǎn)變成Bitcode,然后再將Bitvode轉(zhuǎn)換成可執(zhí)行應(yīng)用。這樣的設(shè)計(jì)讓它可以輕易增加支持新語(yǔ)言(前端)以及新的CPU(后端)。雖然Bitcode不能在任何平臺(tái)上運(yùn)行,但是它可以轉(zhuǎn)化成任何被支持的 CPU 架構(gòu),包括在應(yīng)用提交到應(yīng)用商店之前還沒(méi)有推出的架構(gòu)。
未來(lái)開(kāi)發(fā)者提交的所有Watch應(yīng)用都必須包含 Bitcode,對(duì)于 iOS 9 應(yīng)用蘋(píng)果公司并沒(méi)有這樣的強(qiáng)制要求。不過(guò) iOS 9 應(yīng)用提交將會(huì)默認(rèn)為 Bitcode。蘋(píng)果沒(méi)有針對(duì)OS X平臺(tái)進(jìn)行特別說(shuō)明。
蘋(píng)果 Bitcode 將能夠讓我們對(duì)未來(lái)蘋(píng)果 CPU 的選擇有更好的了解,證明未來(lái)在產(chǎn)品的開(kāi)發(fā)上蘋(píng)果會(huì)堅(jiān)持自主開(kāi)發(fā)的芯片組,包括 Apple Watch 中使用的芯片。雖然目前 Apple Watch 中使用的S1芯片可能不是最好的 CPU,但是已經(jīng)足夠在目前的 Apple Watch 上使用了。自然蘋(píng)果是會(huì)推出 S1 的升級(jí)產(chǎn)品,但是即使新的平臺(tái)出現(xiàn),目前Watch已經(jīng)支持的應(yīng)用也不會(huì)受到影響,開(kāi)發(fā)者不需要就蘋(píng)果的新硬件重新提交應(yīng)用。
因?yàn)?Bitcode 蘋(píng)果可以選擇他們想要使用的架構(gòu),不管是 ARM 或者其他架構(gòu)。如果我們看得更遠(yuǎn)一些,未來(lái)即使S3 CPU變得“更加瘋狂”,蘋(píng)果編譯工程需要做的就是在 App Store 中安裝新的 LLVM 后端,剩下的就讓 Bitcode 來(lái)解決。
喜上加喜的是,iOS 也會(huì)獲得支持,這就意味著對(duì)開(kāi)發(fā)者來(lái)說(shuō) iPhone CPU 和應(yīng)用的未來(lái)變得更加光明,未來(lái)即使蘋(píng)果發(fā)布新的硬件產(chǎn)品,他們需要針對(duì)新設(shè)備做的工作變得更好。不過(guò)暫時(shí)開(kāi)發(fā)者還沒(méi)法體會(huì)這些重大變化,至少對(duì)于有望在今年秋季發(fā)布的 A9 芯片,甚至明年的 A10 來(lái)說(shuō)都是如此。而在 A11 上這種變化帶來(lái)的影響將會(huì)突顯出來(lái)。
評(píng)論