The team behind the development of Google’s Flutter cross-platform UI toolkit for building natively compiled applications for mobile, web, and the desktop from a single codebase has widened the scope of development. Now, the developers of flutter have the capability to develop apps for windows under its alpha release.
Flutter when launched in May 2017 was known as codename “Sky” and ran on the Android operating system. Actually, when launched, Flutter team initially targeted Android and iOS only. The report shipping production quality support for those two mobile operating systems with eight stable releases. Now about 100,000+ apps shipped to the Google Play Store by Flutter users.
With this unprecedented success, the team decided to expand its horizons to include the web and desktop operating systems. Currently, the toolkit supports both macOS and Linux.
The support for windows was expected from a long time, as Microsoft reporting over a billion active devices running windows 10, support for that iOS.
Windows support was a long time coming, but with Microsoft reporting over a billion active devices running Windows 10, support for that OS was the next likely target, said Chris Sells, Google product manager on the Flutter project in a post on Medium.
“Our own statistics show that over half of all Flutter developers use Windows,” he said, “so it’s a natural target for Flutter. Native desktop support opens up a variety of exciting possibilities for Flutter, including improved developer tooling, reduced friction for new users, and of course apps that can reach any device a user might have from a single codebase.”
The buzz around Flutter has been getting louder lately, and the open-source toolkit is supported by an active and enthusiastic community but the project had been slow out of the gate. Google actually introduced the toolkit back in 2015, and then launched the first beta release at the Mobile World Congress in 2018.
Flutter uses Google’s own Dart programming language to enable developers to build apps that feel native to each platform they run on, Sells said, sharing as much code as possible to avoid duplicating efforts and “embracing differences where they exist.” Also, Flutter does not use WebView or the OEM widgets that ship with mobile devices. Instead, it uses its own high-performance rendering engine to draw widgets.
“We started on Android and iOS with Material Design as well as a touch-based, mobile-centric user interface that is designed to be pixel-perfect on both mobile platforms,” Sells said. “Adding support for desktop form factors with web, Windows, macOS, 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.”
Material is an open-source system of guidelines, components, and tools developed by Google. They supports “the best practices of user interface design,” the website reads. The Material Components for Flutter (MDC-Flutter), which help developers execute Material Design specs, are available on GitHub. The components enable a “reliable development workflow to build beautiful and functional Android and iOS apps,” the repo page reads.
The alpha release of Flutter for Windows comes with the full set of Flutter development and debugging tools. The apps are compiled to native 64-bit code that can be packaged and brought to other Windows machines, ” just like any other native app,” Sells said. And the same codebase can be used to create an app targeting Android, iOS, web, macOS, and Linux, he said.
Specifically, the Flutter SDK includes:
- An optimized, mobile-first 2D rendering engine with support for text
- A modern react-style framework
- A rich set of widgets implementing Material Design and iOS-style.
- APIs for unit and integration tests
- Interop and plugin APIs to connect to the system and 3rd-party SDKs
- A headless test runner for running tests on Windows, Linux, and Mac
- Dart DevTools for testing, debugging, and profiling apps
- Command-line tools for creating, building, testing, and compiling apps
“This alpha release offers a solid foundation that we’ll stabilize over the coming months,” Sells added. “With support for Windows 7 and above, we hope this gives adventurous developers something to get started with.”