Google has released a new update to Flutter, which includes a number of new features and improvements that should refine the experience for mobile and web developers.
Flutter wants to change the way apps are built. Mobile, web, desktop and embedded development are grouped into one toolkit:
- developers can focus on what they want to build first, rather than which platforms they want to focus on
- offering a high-performance, high-productivity framework that significantly shortens the app development process.
Faster and more productive
One of the main focuses in this release is improving mobile performance. In practice, any complex app needs optimization to make sure it uses the underlying hardware and libraries properly. Optimizations and improvements were made to, among others:
- Launching apps, which may be limited by network bandwidth
- Memory usage, especially on devices with limited memory
Apps should start faster and use less memory just by upgrading to Flutter 2.8.
With the latest update, it’s easier than ever to connect apps to back-end services, such as Firebase and Google Cloud. It adds support for Google Ads and major upgrades for the camera. The release also includes Dart 2.15, which adds significant improvements to concurrency and introduces new language features such as:
- Improved enums.
- Optimizations that yield a 10% reduction in memory usage.
Another important theme in this release, which will be an important factor in future releases, is further improving developer productivity. With features like stateful hot reload, the Flutter team aims to reduce development time.
An example in this release:
- A login widget, which Firebase uses to handle authentication. This widget eliminates the need for developers to worry about login edge cases such as two-factor authentication or password resets, nor the complexity of supporting Google, Apple, Twitter, or Facebook as an auth provider. Features like these combine the development speed of low-code solutions with the flexibility and power of a full UI framework.
Game development with Flame
For most developers, Flutter is an app framework. But there’s also a growing ecosystem around casual game development, leveraging Flutter’s graphics support.
That is why the 1.0 version of Flame is now also being released, a modular 2D game engine built on top of Flutter. Flame lets you build games quickly: it includes a component system, animated sprites and graphics, collision detection, a world camera, an effects system, and support for gestures and input.
Flame is modular and can also be expanded with packages that provide integrations with other libraries, for example Rive (for animations), Audio Players (for music and sound effects), Forge2D (a Box2D-like physics engine), Tiled (tile maps editor), Fire Atlas (a sprite sheet and animation editor). Together, Flame and the wider ecosystem provide a strong set of services for casual or 2D game developers.
Flutter continues to grow
There are currently over 375,000 apps built with Flutter in the Play Store. Flutter supports Android, iOS, iPadOS, web, Windows, macOS and Linux: you don’t have to rewrite your app for every platform.
Flutter is used by BMW, eBay, WeChat, Philips Hue, …