Recently Flutter announced a new release, including the update on Flutter’s support for macOS and Linux, significant performance improvements, mobile, and web updates. In this blog post, we will go deeper into the issue and look at some differences between Flutter 2 and Flutter 3 as well as at what changes are actually made. However, this is one of the first blogposts on this topic and more research is needed to unveil the main peculiarities of Flutter 3. At this moment, it can be pointed to the enthusiasm among the developers and the business community as this framework offers new opportunities and easier development work.
Flutter 2 vs Flutter 3
The new feature is that Flatter will support a variable refresh rate on iOS devices. The requirement is that these devices should have ProMotion displays along with iPhone 13 pro and iPad pro. Another new functionality that is different from Flutter 2 is that Flutter 3 can contribute at 120 Hz refresh rate. For Flutter 2, the same rate was 60 Hz on these devices. This means that users can have a smoother experience during animations. In addition, Flutter 3 also supports iterative live coding allowing running multiple copies of the application at once.
So, let’s go deeper to see what exactly took place to discover all the important updates of Flutter 3.
Support for the MacOS System Menu Bar
The new Flutter 3 allows for support for the macOS system Menu bar and menu cascading. It also allows platform-specific integration and intuitive models for compilation. In fact, this allows sharing ideal UI and rationale according to prerequisites. The new Flutter also takes special care of platform support past rendering pixels.
Material You Support
Material You Support or Material 3 is one of the top features of Flutter 3.0. This is a Google in-house design language otherwise called Materials Design 3. From now on, Flutter 3 will offer a cross-stage design framework. This means that the application can be modified into an intuitive product. The new framework also incorporates typography upgrades and many other components.
The Material 3 widgets in Flutter were presented with the following:
- Adaptive colors
- New buttons
- New app menu
- Variable font support.
Flutter support third-party-together mixes. Examples include Firebase, AWS Amplify, Sentry, and AppWrite. Firebase is Google’s back-end stage. It is used for building mobile and web applications. The new feature relates to data storage, validation, authentication, device testing, and cloud functions.
Flutter’s Games Toolkit
This time the focus is on casual gamers. Flutter 3.0 offers a starter pack of formats. It supports ads and cloud services. For example, the developers at Flutter have created a pinball game. This is controlled by Firebase and Flutter’s web support. The game is an example of Flutter’s flexibility.
Before, Flutter supported both Android and iOS devices. Now, they have gotten a couple of good upgrades. For example, the new framework supports fordable cell phones. It incorporates new widgets and highlights that allow for building fantastic applications on foldable devices. In this regard, the Flutter teamed up with Microsoft.
Another feature is that the new Flutter supports variable refresh rates and ProMotion shows on iOS devices. If previously the delivering ability was 60 Hz, now it has the ability at refresh rates up to 120 Hz. This considerably upgrades the user experience with quick animations.
There are a couple of updates for the web particularly relating to image decoding and web app lifecycle.
Image decoding: Flutter 3 contains new APIs that unravel pictures off the fundamental string. The nice thing about this feature is that it speeds up decoding the image 2x which means that the fundamental string may be rarely impeded.
Web app lifecycles: The framework includes the new web application lifecycle API. This API gives developers a chance to control the cycle for bootstrapping their applications. It means Flutter can be run in headless mode on the web.
Flutter 3 Performance improvement
Now let’s look at some performance improvements for Flutter 3. Several improvements can be mentioned. For example, all can be done with diminished memory utilization without a relapse in Flutter application execution. It should also be noted that the mistiness movement execution has been improved. This relates to straightforward case situations.
More Exciting Features: What’s new in Flutter 3?
We can mention several other exciting features. For example, theme extensions, ads, and Dart 2.17.
Theme extensions: with the help of Theme extensions, you can add anything to the ThemeData. This means that developers just need to specify ThemeData extensions rather than expanding ThemeData.
Ads: The new version supports customized promotions dealing with Apple’s App Tracking Transparency (ATTT) necessities.
Dart 2.17: as the dart is the support language of Flutter, the new version of Dart offers new upgrades that developers were highly anticipating. These upgrades are yet to be investigated with expected higher performance.
I have summed up the main upgrades to Flutter 3.0. Sure the framework is going to give a better option for app developers. However, this information may be somewhat incomplete as we expect to see more investigations and clarifications on the newly released version. Read Introducing Flutter 3 and Dart 2.17: Productivity and integration blogs if you are looking for more information. This blog post was just a brief introduction to the main functionalities and features that are new in Flutter 3.0.
- Is there support for the macOS system menu bar?
It is possible now to create platform-rendered menu bars on macOS. This can be done with the help of the PlatformMenuBar widget.
- Are Chinese, Japanese, and Korean supported?
The new framework supports international text input, including Chinese, Japanese, and Korean.
- Is Windows 10 supported?
The fact is that the recommended level of Windows 10 and older versions are blocked.
- Are foldable phones supported?
The Flutter 3 release supports foldable mobile devices.
- Is a variable refresh rate on iOS devices supported?
Flutter now supports a variable refresh rate on iOS devices with ProMotion displays, including iPhone 13 Pro and iPad Pro.
- Is a Gradle version update needed?
Files now use the latest versions of the Gradle and Android Gradle plugins so you need to update the existing files.
- How is image decoding done?
It is done automatically. Flutter 3.0 detects ImageDecoder API in supported browsers.
- Is opacity animation affected?
The performance of opacity animations in simple cases has been improved.
- Is memory usage improved?