When Google released version 1.0 of its Flutter SDK in December last year, it made much of the fact that the software development kit handily lets users create mobile apps for Android and iOS from a single codebase – i.e. shorter development cycles and less cost as companies dodge the need to develop parallel apps for different platforms.
Now the company says it is working on making this wizardry work across not just any mobile platform but on the web in general as well, having done exploratory work embedding Flutter into desktop-class apps running on Windows, Mac and Linux.
The company has released its first technical preview of the project this week, with the preview framework existing as a temporary fork of the existing Flutter framework.
“This allowed our engineers to move quickly to implement web functionality while letting the core team continue to maintain and improve the production-ready toolset”, Google’s Kevin Moore said in a Medium blog, adding: “We have already begun to merge browser support into the main repository. We plan to provide one Flutter toolkit, with one framework that will power mobile, web, and other platforms.”
Google is also heavily subsidising a 30-hour online Flutter App Development “Bootcamp” (built by The App Brewery) that normally costs $199. It is now just $10.
While the project is ongoing, if fully realised, the benefits could be substantial for enterprises. For startups, as Google notes, the ability to reach users on mobile, web, or desktop through the same app lets them reach their full audience from day one, rather than having limits due to technical considerations. For larger organisations developing sophisticated, rich apps, the ability to deliver the same experience to all users with one codebase reduces complexity and development cost and focus on UX.
Flutter was always architected as a portable UI toolkit and, among other places, runs on Windows, Mac, Fuchsia, and even Raspberry Pi, Google noted.
“Our initial vision for Flutter on the web is not as a general purpose replacement for the document experiences that HTML is optimized for”, Moore wrote this week: “Instead we intend it as a great way to build highly interactive, graphically rich content, where the benefits of a sophisticated UI (user interface) framework are keenly felt.”
Flutter SDK: Good for Fuchsia OS too…
As software engineer Ashley Narayanen told Computer Business Review on Flutter 1.0’s release: “While the ability to target more than one platform is nothing new , the main interest here is that it’s a product of Google itself, rather than a third party component. The other key point is that Flutter will be the primary development framework for Google’s next generation operating system Fucshia. Even frameworks such a Xamarin, while offering a native experience do suffer from the pain of cross-platform targeting as not 100 percent of components can be reused across both iOS and Android.”
The New York Times has been an early, experimental adopter, using the Flutter SDK to upgrade its popular puzzles app. Eric von Coelln, Executive Director of Puzzles (yes, we agree, this is an enviable title) at the New York Times, said: “We’ve grown our portfolio of digital puzzles that reaches more than two million solvers each month.”
“We were already beginning to explore Flutter as a potential solution to the challenge of quickly developing engaging, high-quality mobile experiences… being able to publish to web makes Flutter an even more appealing option to quickly deploy across all of our user platforms. This update of our old Flash-based KenKen game into a multi-platform playable experience is something we’re excited to bring to our solvers this year.”
Google’s planned work on the Flutter SDK fork includes:
- Support for text features such as selection and copy-paste.
- Support for plugins. For features like location, camera, and file access, we hope to bridge mobile and the web with a single API.
- Out-of-the-box support for technologies like Progressive Web Apps.
- Unifying web development tooling under the existing Flutter CLI and IDE integration.
- Debugging web applications using DevTools.
- Improved performance, browser support, and accessibility.
Examples and resources can be found at flutter.dev/web