Categories
科技報導

Swift 將增加對 Windows 和其他 Linux 發行版的支持



Swift 開發團隊表示,其即將推出的 5.3 版本的目標包括“增加對 Windows 和其他 Linux 發行版的支持”。他們提到 Swift 5.3 將包括重大的質量和性能增強。更重要的是,此版本還將擴展 Swift 可用和受支持的平台的數量,特別是增加對 Windows 和其他 Linux 發行版的支持。

Swift 將增加對 Windows 和其他 Linux 發行版的支持 1

蘋果開源了 Swift 編程語言,但除了自家的平台,似乎沒有動力去擴大對其他平台的支持,所以 Swift 跨平台的進展比較緩慢,目前僅支持 macOS 和 Ubuntu。

正因如此,不少社區成員十分積極將 Swift 移植到更多平台。例如,IBM 在服務器端方面為 Swift 貢獻了 Kitura 框架,但由於令人失望的使用情況,IBM 在2019年12月放棄了對它的大部分支持。儘管如此,目前仍然有一個官方的 Swift Server 工作組(SSWG),其主導的項目包括 Swift NIO(事件驅動的網絡框架)。此外,還有知名的 Vapor 框架,這是一個可在 macOS 和 Ubuntu 上運行的 Web 開發框架。

對於 Windows 平台,曾經有過一個開源的 SwiftForWindows 項目來支持在 Windows 中提供易於使用的開發環境,不過現在似乎已宣告死亡。除此之外,還可以使用 Windows 的 Linux 子系統(WSL)運行 Swift 編譯器,但會存在一個問題——交互式命令行 REPL(Read Eval Print Loop)在 WSL 1.0 中不起作用。所以,對於希望在 Windows 上使用 Swift 的開發者來說,在 Docker 容器中運行 Swift 工具鍊是行之有效的一個解決方案。

好消息是,目前針對 Windows 的原生 Swift 官方路由已經完善。該項目被稱為 swift-build 而不是 swift-windows,因為它涵蓋了 Linux 和 Docker 以及 Windows。受支持的 Windows 10 最低版本為 10.0.17763.0(2018年10月更新)。

事實上,早在1月份發布的 Swift 6 發展路徑文檔中,開發團隊就表示要擴展可用和支持 Swift 的平台數量。現在在宣布 Swift 5.3 的開發目標公告中,特別指出了“添加對 Windows 和其他 Linux 發行版的支持”。

在 Windows 和 Linux 上提供更好的 Swift 支持將有助於服務器端或非可視化代碼的開發,比如 Tensorflow 機器學習建模和 Vapor 等項目案例。

不過仍然有一個棘手的問題,那就是 GUI 應用程序。因為 SwiftUI 與蘋果操作系統綁定在一起,此問題也許會有解決方案,但不幸的是,將 macOS 和/或 iOS 的 Swift 應用程序帶到 Windows 並重新編譯它的想法無法實現。