Apple公司透露了Swift 4的發(fā)布進(jìn)程,Swift 4將會在2017年秋季發(fā)布。此次發(fā)布的焦點(diǎn)在于Swift 4提供了對于核心語言和標(biāo)準(zhǔn)庫的重大改進(jìn),同時(shí)也實(shí)現(xiàn)了對之前源代碼的兼容性。Ted Kremenek是Apple公司Swift團(tuán)隊(duì)的新負(fù)責(zé)人,他取代的是曾經(jīng)的項(xiàng)目負(fù)責(zé)人Chris Lattner,他解釋說,ABI(應(yīng)用程序二進(jìn)制接口)兼容性的實(shí)現(xiàn)一開始是在設(shè)計(jì)準(zhǔn)則之中的,現(xiàn)如今將要推遲發(fā)布。
Swift 4做了許多重大改變,因此Swift 4與Swift 3并沒有十分良好的代碼兼容性。然而,Swift語言一經(jīng)推出,它的編譯器就支持兼容性模式,使用-swift-version-3
編譯選項(xiàng)就能編譯大多數(shù)Swift 3的源碼,在Swift 4中還修復(fù)了錯(cuò)誤代碼也能在舊編譯器中編譯通過的漏洞。-swift-version-4
編譯選項(xiàng)將會支持所有在Swift 4設(shè)計(jì)準(zhǔn)則中提到的新特性。重要的是,Swift的編譯器將會在剛剛提到的編譯選項(xiàng)中支持以下特性,它能夠?qū)⒖蚣芎鸵呀?jīng)編譯好的模塊鏈接在一起,只要它們是使用同樣的編譯器選項(xiàng)編譯出來的。
Kremenek還提到,在相關(guān)原理被改正之前,Swift推遲了對ABI穩(wěn)定性問題的解決,這樣做能夠避免ABI不穩(wěn)定的風(fēng)險(xiǎn)。
Swift的創(chuàng)始人Chris Lattner是這樣評論Kremenek的聲明的:
看到了之前提出的年計(jì)劃,我就認(rèn)為這是一個(gè)很務(wù)實(shí)的決定。ABI的穩(wěn)定性對于Apple公司比對于大多數(shù)的開發(fā)者來說更重要,因此我很高興看到你把社區(qū)的需求(改進(jìn)編譯時(shí)間、編譯器穩(wěn)定性等等)放到了第一位,對于Swift來說,保證長久成功的關(guān)鍵就是去做正確的事情。
推遲了改進(jìn)ABI穩(wěn)定性的目標(biāo)并不意味著這項(xiàng)工作就此停止,Lattner希望能夠?qū)BI穩(wěn)定性在Swift 5的早期開發(fā)階段列入計(jì)劃。Kremenek將會盡快發(fā)布一個(gè)關(guān)于改進(jìn)ABI穩(wěn)定性的報(bào)表,上邊會顯示所有有關(guān)ABI穩(wěn)定性的未完成任務(wù)以及當(dāng)前的任務(wù)狀態(tài)。
進(jìn)入第二階段的變更更有可能被納入到發(fā)布版本里。例如,任何新的語法規(guī)則或API無疑要比當(dāng)前的好,任何影響源代碼兼容性的改進(jìn)必須要對現(xiàn)有代碼提供遷移方案等等。直到軟件發(fā)布經(jīng)理創(chuàng)建了最終的代碼分支,所有的開發(fā)內(nèi)容才會出現(xiàn)在master
代碼主分支中,預(yù)計(jì)這項(xiàng)工作將于2017年初夏完成。從那時(shí)起,只有特定的修復(fù)內(nèi)容會加入到最終的發(fā)布版本中。
查看英文原文:Swift 4 Enters Final Stage, Defers ABI Stability
來源:InfoQ
根據(jù)英文原文:
…Swift 4, which should become available in the Fall of 2017:
所以
Swift 4將會在2017年4月發(fā)布。 應(yīng)改成:
Swift 4將會在2017年秋季發(fā)布。
根據(jù)英文原文:
…Swift 4, which should become available in the Fall of 2017:
所以
Swift 4將會在2017年4月發(fā)布。 應(yīng)改成:
Swift 4將會在2017年秋季發(fā)布。