Swift 5進入發佈倒計時

在正式發佈Swift 4.2之後,Swift團隊現在啓動了發佈過程的最後階段,把注意力集中在了Swift 5上。Swift 5計劃於2019年初發布,其目標是在保持源代碼兼容性的同時,實現ABI穩定性。

ABI穩定性大致可以理解爲跨Swift版本的“二進制兼容性”。ABI穩定性允許將框架鏈接到程序,而不管使用了哪個編譯器版本來編譯它們,只要兩個編譯器生成的代碼都符合即將到來的Swift ABI。對於第三方框架開發者以及在蘋果公司內部推廣Swift應用來說,這是一個關鍵的特性。ABI穩定性最初計劃在Swift 3中實現,但後來由於大量的新語言特性正在開發而延遲。

如前所述,ABI穩定性不包括蘋果所說的模塊穩定性,後者可以描述爲與未來編譯器版本兼容的庫的接口。換句話說,ABI穩定性影響的是框架運行時鏈入程序的能力,模塊的穩定性關注的是在使用更新版本的編譯器(例如Swift 6)構建程序時可以使用使用舊版本的編譯器(例如Swift5)構建的庫。模塊穩定性肯定是需要的,因爲它可以簡化開發人員在多個賬戶下的開發,但並不關鍵。目前還不清楚,模塊穩定性是否會加入Swift 5。

Swift 5還包括若干新語言特性其中有些已經實現,因此,這些特性毫無疑問會加入這個版本中,其中包括:

  • “本體鍵路徑(Identity key path)”:這提供了一種方法,使開發人員可以使用self僞屬性引用符合該路徑的整個值。
  • count(where:):這提供了在滿足布爾表達式的Sequence中計算元素個數的可能性。
  • 原始字符串分隔符:它允許開發人員將任何需要轉義的字符包含在以"""分隔的字符串中,而不是使用單引號(")。

其他特性仍然在開發之中,包括扁平化來自try?的嵌套選項simd vectors用戶定義的動態“callable”類型,等等。

所有新的語言特性都不會破壞源代碼的兼容性,也就是說,大多數兼容Swift 4.2編譯器的源代碼都應該使用Swift 5.0編譯器進行編譯。不過,4.2版本之前的Swift版本不是源代碼兼容的,至少應該升級到Swift 4.2版本。開發團隊將定期發佈趨近5.0版本的可下載快照

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章