Apple’s Swift programming language and Google’s Flutter UI framework for its Dart programming language have arrived for Windows 10.
Swift is Apple’s open-source, general-purpose programming language that developers can use to develop programs for iOS, macOS, watchOS, tvOS, Linux, and z/OS platforms.
The Apple-backed Swift project has now released downloadable Swift toolchain images for Windows, which contain everything needed to build and run Swift code on Windows 10.
The Windows 10 toolchain is available for Swift 5.3 and is provided by Saleem Abdulrasool, a member of the Swift Core Team and a software engineer at Google Brain.
Abdulrasool detailed the many challenges to bringing Swift to Windows in a talk at the LLVM dev meeting last year. He noted at the time he managed to bring Swift to Windows through cross-compilation on Linux.
Besides porting the Swift compiler, the toolchain includes the standard library and Swift’s three core libraries: Foundation, libdispatch, and XCTest.
“These libraries are part of what enables developers to write powerful applications with ease and without having to worry about many of the details of the underlying system,” writes Abdulrasool.
“With these core libraries and the flexible interoperability of Swift with C, it is possible to develop applications on Windows purely in Swift while taking advantage of the existing corpus of libraries on the Windows platforms.”
Abdulrasool said the current state Swift for Windows was “the beginning of a journey” that will soon include the Swift Package Manager, which still needs more work.
Developers who want to try Swift on Windows will need the toolchain installer and Visual Studio 2019 integrated development environment, as well as other components like the Windows 10 SDK, and toolsets for building C++ code and the Windows Universal C Runtime.
Google’s Flutter team today has also released the Flutter for Windows alpha. Flutter now has native support for Android and iOS, beta support for the web, macOS, and desktop Linux and alpha support for Microsoft’s one billion Windows 10 devices.
The Flutter team notes that native desktop support for the web, macOS, Linux and now Windows brings improved developer tooling, reduced friction for new users, and apps that can reach any device from a single codebase.
Flutter initially focused on the touch user interface on iOS and Android, but desktop support across Windows, Linux and macOS brings support for desktop inputs like the keyboard, mouse, mouse wheels and controllers as well as desktop widgets.
The alpha release of Flutter for Windows only supports the classic Win32 API, but Google is experimenting with support for Microsoft’s Universal Windows Platform (UWP) apps for future Windows devices.
“It’s not the case that we support Flutter for Windows on the Xbox, but our investment in UWP today enables us to be there for the future of Windows devices tomorrow,” the Flutter team notes.
However, it has released a UWP version of the Flutter Gallery demo app that’s available to install from the Windows Store.