What an amazing time to be a Flutter developer! This year’s Flutter Engage event was filled with exciting announcements and news — here's everything you need to know.
Yesterday's biggest news was that Flutter 2 is now live, introducing hundreds of new features, performance and stability improvements, and closing over 6,000 issues. And that is not all!
Flutter Web is now stable
This is a moment that many in the Flutter community have been waiting years for! Flutter Web is now part of the stable channel. The Flutter code from your mobile app can now create an interactive web experience.
The Flutter team was quick to point out that Flutter Web is best used for the following:
- Progressive web apps
- Single-page applications
- Highly interactive experiences
Traditional static web content is still best suited for traditional web technologies.
Significant work has been done to build UI elements that make sense within the web paradigm. Things like scroll bars, context menus, and other elements were added. This allows developers to create apps that feel native to the web.
Flutter Web developers can choose between two different rendering engines:
- HTML Renderer: Has a smaller download size
- CanvasKit Renderer: More performant but adds 2MB to your app’s download size
Flutter Desktop is now stable
Besides mobile and web support, Flutter now officially supports desktop applications. This means that a single codebase can now support the following platforms:
Just like with the web, new UI elements were created that feel native to the desktop.
Canonical, the folks behind Ubuntu Linux, is supporting Flutter in a major way. Thanks to their work, Linux is now a first-class platform for Flutter, and the new Ubuntu installer has been completely written in Flutter. Additionally, the Flutter SDK is now available as a snap in the Ubuntu store.
Canonical now sees Flutter as their first choice for mobile and desktop development and they have made many contributions to the Flutter codebase. Soon they hope to bring full multi-window support to desktop.
On the Windows front, Microsoft has also been making contributions. Flutter can now use the native Windows 10 APIs.
Dart Null Safety has officially shipped
Null safety has officially shipped for Dart! This will squash countless bugs and significantly increase performance.
The new Null Safety Migration Tool makes the transition mostly painless. It provides help with deciding what values are nullable or not. Developers can review the tool's code changes and adjust them accordingly.
Thousands of Flutter plugins have already migrated to null safety. It’s likely the transition can be made with just a few hours of work.
Enhanced developer tooling
As Flutter continues to grow, breaking changes are inevitable. The Flutter Fix tool allows you to find breaking changes in your codebase. They can be quickly updated using VS Code’s “Quick Fix” feature. Future breaking changes will be added to Flutter Fix.
New DevTool Features
You can now open Dart DevTools directly inside of VS Code instead of the web browser. This lets you quickly identify issues without leaving your IDE. Additionally, DevTools now includes even more features to help you:
- Check your code’s performance
- Optimize memory management
- Keep package sizes down
The UI Library is now even more amazing
Flutter has always been famous for its powerful UI tools. New updates in version 2 make it even more incredible.
Mobile devices such as the new Surface Duo have dual screen support. Thanks to significant contributions from Microsoft, Flutter can now support these devices. This includes new design patterns such as:
- Drag and drop
- Multiple foldable widgets
- Having an app expand to both screens
Beyond that, several other widgets have been added. This makes sure Flutter stays relevant to the latest trends in mobile development.
There was far more covered at Flutter Engage than we can fit into a single blog post. For a full list of updates, we recommend checking out the Flutter What’s New page. Thanks to Flutter Web and Desktop, there’s never been a better time to jump into Flutter Development!
Are you ready to learn more about the exciting world of Flutter? We suggest you check out the following Bitrise webinars: