Back in 2015, Google announced Flutter as a cross-platform UI that allows the developers to use a single codebase to build UIs for native Android, iOS, web, and desktop applications. To bring Flutter to Microsoft, Google began to look for assistance from Microsoft. And today, we’re well pleased to announce an additional target for Flutter with the alpha release of Flutter support for Windows to enable the developers to deliver high-performance apps that feel natural on different platforms.
Adding Windows to Flutter
Flutter is mostly developed in the flutter-desktop-embedding repository as most of the activities can be found there. So, for Mac OS, you can simply create new projects on the master/development channel. However, in the case of Windows/Linux, it works only on the master channel. You can also copy windows and Linux folders (making their clone copies) and paste it to the existing one that already has Linux and Windows projects configured. If you have frame styles like Visual Studio 2019 tool chain on Windows and some packages on Linux, you will find it easy to run though it will take a few hours to set everything up on Windows and Linux. Another issue that Flutter encounters when starting the application in Flutter desktop is that currently there is only Mac OS in supported target platforms inside Flutter. So, it doesn’t know how to show widgets. Therefore, you will have to overwrite it and if you are using the Flutter desktop embedding repository then all of this will be already set up and you will be good to go.
Adding support for desktop form factors with web, Windows, Mac OS, and Linux brings a whole new set of services, including robust support for keyboards, mice, mouse wheels, and controllers on the input side as well as widgets that adapt or even work best at the larger screen sizes that come with web and desktop apps. In the case of Windows, new targets have been added to the CLI and IDE for tool chains. For Windows, it’s a Win32/C++ program that loads your Flutter code and executes it at runtime. It’s a good place to add native code to your app if you need it. Plugins for the Flutter for desktop (which is a mixture of Dart code and native code) allows you to interact with the platform’s native features such as clipboard or local notifications. So far there are 10 official plugins for desktop and we can find a few plugins that can run on Windows such as window_size, path_provider, url_launcher, etc.
This alpha release offers a solid foundation that we’ll stabilise over the coming months. With support for Windows, we hope this gives ingenious developers something to get started with.