Swift更加開放,不再限于macOS與Ubuntu

局長· 2020-04-02
本文來自 開源中國 ,作者 局長

Swift 開發團隊表示,其即將推出的 5.3 版本的目標包括“增加對 Windows 和其他 Linux 發行版的支持”。

他們提到 Swift 5.3 將包括重大的質量和性能增強。更重要的是,此版本還將擴展 Swift 可用和受支持的平臺的數量,特別是增加對 Windows 和其他 Linux 發行版的支持。

image.png

蘋果開源了 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 的平臺數量?,F在在宣布 Swift 5.3 的開發目標公告中,特別指出了“添加對 Windows 和其他 Linux 發行版的支持”。

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

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

财神捕鱼什么时间打赢钱