這十年來在蘋果開發者生態系統最重大的變化就是引入了 Swift 編程語言,并且今年 WWDC 上可能會看到的下一個重大變化是在 Mac 上引入第三方 UIKit 應用程序。
Swift,這種新語言是在 WWDC 2014 上宣布的。在蘋果工程師和開源社區的貢獻下,它進行了多次迭代更新,現在是 4.2.1 版本。
自第一個版本以來一直影響用戶的 Swift 一個重要方面是它的應用程序二進制接口(或 ABI)不穩定。這在實踐中意味著蘋果不能在其操作系統中包含 Swift 語言支持,因為使用 Swift 3 編寫的應用程序將不能與 Swift 4 的語言支持二進制文件一起使用。而其解決方案是包含 Swift 從 App Store 下載的 app bundle 中的語言庫,但是這樣增加了應用程序所需的帶寬和存儲空間。
據外媒新聞,蘋果已經開始使用最新的 Swift 5,該語言變為二進制兼容。新版本包含在 iOS 12.2,tvOS 12.2,watchOS 5.2 和 macOS 10.14.4 中,所有這些版本目前都處于開發者測試階段。這意味著,當新版本的蘋果操作系統可供用戶使用時,使用 Swift 5 編程語言發布到 App Store 的應用程序對于運行新操作系統的用戶來說將會小得多。
另一個好處是更快的啟動時間,因為應用程序使用的每個動態庫都會稍微增加其啟動時間,但操作系統附帶的庫將會緩存在內存中并在所有應用程序之間共享。
但具體減小了多少的存儲空間呢?從 App Store 下載一些應用程序,并檢查了 Swift 庫占用了多少空間,以下是一些示例:
Apollo for Reddit 的大小為 35.7 MB,包括 7.5 MB 的 Swift 庫。而在 iOS 12.2 中更新為 Swift 5 時,應用程序大小將減少 20% 以上,降至 30 MB 以下。PCalc 的大小為 86.8 MB,包括 7.5 MB 的 Swift 庫。更新到 Swift 5 后,應用程序大小將減少 9%,降至 80 MB 以下。
蘋果 Watch 的 Chirp 大小為 28.8 MB,包含 11.6 MB 的 Swift 庫。更新到 Swift 5 后,應用程序大小將減少 30% 以上,降至 20 MB 以下。這個應用程序與我們計算的應用程序相比節省了最多,因為它包含一個用 Swift 編寫的蘋果 Watch 應用程序,其中包括用于 watchOS 的 Swift 庫。
節省的存儲空間因設備而異。上面使用了 iPhone XS Max 上的應用程序大小作為參考,但考慮到安裝了許多應用程序的設備,可以節省更多空間。
當然,這建立在開發人員將采用 Swift 5 的假設上,但大多數使用 Swift 編寫的應用程序都會得到積極維護,遷移也不會太困難。該語言的新版本還包括一個與為 Swift 4.2 編寫的代碼兼容的模式,這將使具有大量代碼的開發人員遷移變得更加容易。
所有用戶都必須利用這一點來更新到 iOS 12.2,tvOS 12.2,watchOS 5.2 和 macOS 10.14.4,并等待開發人員更新他們的應用程序。目前,所有系統都已經開始面向開發人員。使用 Swift 5 構建并發布到 TestFlight 的應用程序已經為運行測試版的用戶節省了空間。
【來源:IT之家】