The Swift development team says its upcoming version 5.3 goals include “increasing support for Windows and other Linux distributions.” They mentioned that Swift 5.3 would include significant quality and performance enhancements. More importantly, this release will also expand the number of platforms available and supported by Swift, especially by increasing support for Windows and other Linux distributions.
Apple has open-source Swift programming language, but there seems to be no incentive to expand support for other platforms other than its own platform, so Swift’s cross-platform progress has been slow and currently only supports macOS and Ubuntu.
That’s why many members of the community are actively porting Swift to more platforms. For example, IBM contributed the Kitura framework to Swift on the server side, but in December 2019 it gave up most of its support due to disappointing usage. Nevertheless, there is still an official Swift Server Working Group (SSWG), whose lead projects include Swift NIO (Event-Driven Network Framework). In addition, there is the well-known Vapor framework, a web development framework that can run on macOS and Ubuntu.
For the Windows platform, there used to be an open source SwiftFor Windows project to support an easy-to-use development environment in Windows, but now it seems to be dead. In addition, you can run the Swift compiler using Windows’ Linux subsystem (WSL), but there is a problem with the interactive command line REPL (Read Eval Loop) that doesn’t work in WSL 1.0. So running the Swift toolchain in a Docker container is a proven solution for developers who want to use Swift on Windows.
The good news is that the official native Swift route for Windows is now in full use. The project is called swift-build rather than swift-windows because it covers Linux and Docker as well as Windows. The minimum version of Supported Windows 10 is 10.0.17763.0 (updated October 2018).
In fact, in the Swift 6 Development Path document released in January, the development team indicated that it wanted to expand the number of platforms available and supported by Swift. Now in the announcement of Swift 5.3’s development goals, “Add support for Windows and other Linux distributions” is highlighted.
Better Swift support on Windows and Linux will help with server-side or non-visual code development, such as project cases such as Tensorflow Machine Learning Modeling and Vapor.
But there’s still a tricky issue, and that’s the GUI application. Because SwiftUI is tied to the Apple operating system, there may be a solution to this problem, but unfortunately the idea of bringing the Swift application son of macOS and/or iOS to Windows and recompiling it is not possible.