Arrow icon
Flutter 3 Highlights: Enhanced Desktop app support, performance upgrade and official support for firebase

Flutter 3 Highlights: Enhanced Desktop app support, performance upgrade and official support for firebase

Apexive is a boutique software development studio aiming to help emerging startups build future tech unicorns that make the world a better place. We build apps in Flutter since its launch in 2018!

Saiful Islam Adar

Senior Frontend Developer

August 2, 2023
Technology
Table of content

Flutter is a UI framework by Google to build native cross-platform apps. The first stable version was launched back in 2018. In 2022 it’s topping the chart with its developer-friendly approach and native-like performance of the apps built with it. Flutter has already proven its efficiency in building stable apps with a single codebase for Android, iOS, and Web. 

With its recent launch of Flutter 3, the horizon has expanded. Now Flutter has stabilised the support for macOS and Linux within a very short time, along with Android, iOS, Web, and Embedded systems. Along with it, a lot of performance improvement came along. No wonder it is topping the charts among developers and companies. In this article, I will discuss Flutter 3.0 and how it changes the app development industry.

Desktop improvements

With the latest release, Flutter has enhanced support for desktop applications on different platforms.

- Stable version release for macOS & Linux

Flutter had already released stable versions for Android, iOS, Web, Windows, and embedded systems. With Flutter 3.0, macOS and Linux are also on the official release chart. Now Flutter supports all the major platforms for building apps and spreading happiness to the developers and users. And most of all, applications for all these platforms can be generated by sharing in one single codebase, which was Flutter’s initial goal. And they have achieved it throughout the journey for the last 4 years!


- Menu Cascading and Support for the MacOS System Menu Bar

For macOS apps, Flutter now supports Cascading menus and supports the macOS system menu bar using the PlatformMenuBar widget. This lets the developers create platform-specific menus on macOS and let the application control the behavior for it.

- International text input support for desktop platforms

Full support for international text input for language inputs that supports text input method editors(IMEs) are now available for all desktop platforms with Flutter 3.0

- Menu Cascading and Support for the MacOS System Menu Bar

For macOS apps, Flutter now supports Cascading menus and supports the macOS system menu bar using the PlatformMenuBar widget. This lets the developers create platform-specific menus on macOS and let the application control the behavior for it.

- Accessibility support

Flutter now provides support for accessibility services on all major desktop platforms.


- Universal binaries for macOS

Now it also supports building macOS applications as universal binaries for both intel and apple silicon-based macs.

Web and mobile improvements

Numerous improvements were made to web and mobile application building platforms for Flutter. Such as:

- Foldable phone support

With the help of the Microsoft team, Flutter now has out-of-the-box functionalities to detect foldable phones and make the UI responsive per need. The samples for Foldable phones are available here for the Flutter Gallery app.

- iOS variable refresh rate support

For the latest iOS devices, Apple introduced a new feature called ProMotion. Which makes the device display refresh rate dynamic for the apps. Previously Flutter app on iOS had a fixed maximum refresh rate of 60 hz, but now with the latest update, it can reach 120 hz to provide the user with a smooth experience while using the app. More details can be found here

- A simplified command for iOS releases

Now developers can build and .ipa file for iOS release easily with flutter build ipa command, which will generate a build for iOS. And then, by running xcrun altool it can be uploaded to the app store to send it to TestFlight/Appstore users.

- Faster image decoding for Web apps

Flutter 3.0 now uses built-in ImageDecoder API provided in modern chromium-based browsers whenever available. It helps the app to speed up 2x while decoding images, and by using this process, the task is passed off the main thread hence it removes all sorts of junk for the application and provides a smoother performance.

- Web app lifecycles

Flutter has introduced a web app lifecycle API for the developers. It is now possible for the developers to detect different stages of the Web app and provides more options to control the bootstrapping of the web app. A few common uses are adding a splash screen or a loading indicator, or even a plain HTML interactive landing page displayed before the Flutter app. More details of web app customizing web app can be found here.

Other important updates

There are other few exciting updates provided with Flutter 3.0

- Material 3

Android 12 introduced versatile theming of applications based on users choice. Flutter now has out-of-the-box support for Material 3 theming, which includes dynamic color, an updated color system, and typography. It also supports new visual effects with ready-made components.

- Ads

With Flutter 3.0 now, the ads showing performance have been improved by using PlatformViews. It doesn’t slow down the app while transitioning between views while ads are showing. Also, Flutter now gives a more simplified way to handle user consent and Apple’s App Tracking Transparency requirements with Google’s open-source User Messaging Platform (UMP) SDK.

- Theme extension

Now material library’s ThemeData can be customized with anything by using these extensions. Previously developers had to use implementations of copyWith, lerp, etc methods to modify those.

- Lint package update

New lint packages(version 2) have been released along with Flutter 3.0 for both Flutter and Dart. This will help the developers to follow better coding practices and follow correct patterns.

- Official support for Firebase

Firebase has been hugely popular among Flutter developers. According to Slash Data’s study, “About 63% of the developers are using Firebase in their applications.” Finally, the official support for Flutter is released by the Firebase team. Now the documentation and direct support can be found on Firebase’s website.

Along with it, support for Firebase Crashalytics has been released for Flutter, which can be found here. It helps developers to track crashes/errors or to log information in real-time to detect fatal mistakes or to check crash-free users.

- Casual game development toolkit

Flutter utilizes each pixel on the screen via its skia 2D graphics engine. Now the team has expanded further to provide a starter pack that also includes controlling views, sounds, and monetization through ads by default. Any enthusiastic developer can start to play with it to build cool 2D games.

- Dart 2.17 update

With Flutter 3.0 a new version of Dart(2.17) was also released. It includes enhanced enumeration, simplified super constructor usage, and using named arguments in any order in constructors.

Conclusion

Flutter has come a long way to building a great community by providing comprehensive resources on different topics to enhance developers’ learning. Being developer-friendly and native-like performance has made Flutter as a top choice for building new applications using a single codebase. We can see the effort the Flutter team has put into making everyone’s life better when building apps. I also recommend checking out Flutter’s keynote from Google I/O

I hope you enjoyed reading and see you next time!


“I would say Apex labs met all expectations and even beyond. We were working with the team who took care of our project from A-Z. Their speed and quality of delivering work are incredible. They even gave us a lot of advice on the business side. As the deadline got close, they did everything necessary to ensure they delivered on time, taking a lot of responsibility. Further functionality for successful pivot was also delivered promptly."

Mark S.,
VP of Product at AAHI

Game Changers Unite

We are the software development agency and we love helping mission-driven startups in turning their ideas into amazing products with minimal effort and time.

LET'S TALK