在過去 10 年之中,蘋果開發(fā)者生態(tài)圈中最大的改變就是全新的 Swift 編程語言。在今年的 WWDC 上,我們也許會看到另外一項重大改變,那就是第三方 UIKit 應用登陸Mac 平臺。對于 Swift ,這款全新的編程語言在 WWDC 2014 發(fā)布。在蘋果工程師團隊和開源社區(qū)的共同努力下,Swift 不斷的升級,目前最新的版本為 4.2.1。
自第一個版本以來,Swift 一直影響用戶的是它的應用程序二進制接口(ABI)不穩(wěn)定。 簡單的說,就是蘋果不能在其操作系統(tǒng)中包含 Swift語言支持,因為使用 Swift 3 編寫的應用程序將不能與 Swift 4 的語言支持二進制文件一起使用。解決方案是 App 在自己的安裝包中包含 Swift 語言庫,這增加了 App 的容量。
Swift 5 發(fā)布后,語言將可以兼容 ABI。目前,Swift 5 已經(jīng)包含在 iOS 12.2、tvOS 12.2、watchOS 5.2 和 macOS 10.14.4 系統(tǒng)中,這些系統(tǒng)目前正在測試之中。未來,當新版系統(tǒng)發(fā)布后,App Store 中使用 Swift 5 開發(fā)的應用可以縮小容量。與此同時,應用的啟動速度也會小幅提升,因為 Swift 動態(tài)庫包含在系統(tǒng)之中,可以緩存在內存中,在所有應用中 共享。那么 App 容量會縮小多少呢?
Apollo for Reddit 目前的容量為 35.7MB,其中包含 7.5MB Swift 庫。當升級至 iOS 12.2 后,容量會縮小 20%,也就是不到 30MB。PCalc 的容量為 86.8MB,其中也包含 7.5MB Swift 庫,升級后可以縮小 9%,也就是不到 80MB。