Google has announced Flutter 2, a major upgrade to its framework for building user interfaces for mobile, the web and desktop.
Flutter promises to allow developers to use the same codebase to build native apps for iOS, Android, Windows 10, macOS, and Linux and for the web on browsers including Chrome, Firefox, Safari or Edge. It can also be embedded in an IoT device with a screen, such as cars, TVs, and home appliances.
Google launched Flutter in 2018 for Android and iOS mobile apps but in 2019 broadened its scope to native desktop apps. However, the desktop side of Flutter has remained an alpha release until now.
“With Flutter 2, we’re moving desktop into our “stable” channel under an early release flag, meaning that it’s available for anyone to start using,” Google’s Tim Sneath told .
That doesn’t mean Flutter for desktop is stable just yet. Sneath said Google considers it “beta-quality” and “certainly suitable for serious development”. A proper stable release will be available in months.
“We’re still rounding off a few rough edges including some important work around accessibility and internationalization. Some customers who are more tolerant of being at the cutting edge are already shipping with it, and now with beta we expect that number to grow. While we’re not sharing specific timelines today, we expect to ship a complete stable release in months, not years,” said Sneath.
The move to Flutter 2 promises to benefit the over 150,000 Flutter Android apps already available on the Play Store. Every app will get a free upgrade with Flutter 2 allowing developers to target desktop and web without rewriting them. Google apps now built with Flutter include Google Pay, Stadia and Google Nest Hub among others.
Flutter 2 also brings production quality support for the web, with a focus on progressive web apps (PWAs) that behave like desktop apps, single page apps, and mobile apps on the web. Google has added a new CanvasKit-powered rendering engine built with WebAssembly. For mobile web apps, in recent months it’s added autofill, control over address bar URLs and routing, and PWA manifests.
For desktop browsers, it has added interactive scrollbars and keyboard shortcuts, increased the default content density in desktop modes, and added screen reader support for accessibility on Windows, macOS and ChromeOS.
Google has been working with Ubuntu maker Canonical to bring Flutter to the desktop. Canonical will make Flutter the default choice for future desktop and mobile apps it creates.
Microsoft is also releasing contributions to the Flutter engine that supports foldable Android devices, such as the Microsoft Surface Duo.
Google didn’t announce any Flutter developments specific to Windows 10 app development. However, Sneath last year said the Flutter team would welcome a closer collaboration with Microsoft on Windows 10.