The world of cross-platform just got a little more interesting with the latest release of the Flutter Beta 3 version.
Flutter is a software framework developed by Google several years ago with the goal of building cross-platform applications. Designed to compete with platforms like React Native, the library incorporates native performance and platform support with portable UI toolkits' faster development and multiplatform reach. Flutter apps are built with Dart, a programming language created by Google.
Flutter 3 is unique in that it lets you create applications for Android, iOS, Linux, Windows, macOS, and the web, all using the same shared code.
Although building applications for Windows was made easier with Flutter 2.10, neither macOS nor Linux was fully supported. The situation has changed now, as Google announced Flutter 3 at this year's Google I/O, with support for building apps on both Mac OS X and Linux.
A platform support package includes support for new input and interaction models, compilation and build, and accessibility and internationalization as well as platform-specific integration. Flutter 3 gives Flutter app developers the ability to build Flutter apps by utilizing the underlying operating system while sharing UI and logic.
Using macOS Universal Binary support, you can package executables that run natively on both architectures of the OS.
Canonical and Google have collaborated together to provide the most integrated development platform on Linux.
In this version, Flutter is now fully compatible with Apple silicon. While Flutter has been compatible with M1-powered Apple devices since their release, Flutter now fully utilizes Dart's support for Apple silicon, allowing much faster compilation on M1-powered devices.
Material Design 3 is a proprietary Google design language. To create Flutter apps that are visually stunning and interactive, the Flutter team has built a cross-platform design system. The features included are:
Firebase is now fully integrated with Flutter, making it a core part of their offering. Firebase is Google’s back-end platform for building mobile and web applications. Flutter has various third-party integrations like Firebase, AWS Amplify, Sentry, and AppWrite. Flutter developers need a complete set of tools to build, debug, and release apps. A few of these services are data storage, authentication, device testing, and cloud functions.
The updated 3.0 version of Flutter includes Crashlytics support for apps. Crashlytics is Firebase’s popular real-time crash reporting service.
Now that the Flutter Crashlytics plugin has been updated, you can track fatal errors in real-time, giving you access to all of the same features used by other iOS and Android developers. Apps can be monitored for stability through alerts and metrics such as "crash-free users.".
Crashlytics has been updated to cluster Flutter crashes more quickly, making it easier to identify, prioritize, and fix issues. Crashlytics has also simplified the plugin setup process, so it takes just a few clicks to integrate it with your Dart code and get Crashlytics up and running.
The newly released version of Flutter caters to the growing community around casual game development, utilizing Flutter's hardware-accelerated graphics support combined with open-source engines like Flame.
The Casual Games Toolkit in Flutter 3 provides starter templates and best practices along with credits for ads and cloud services.
Using benchmarking to evaluate the benefits of optimization, the Flutter engineering team takes the performance improvement of Flutter to the next level. Furthermore, the opacity animation performance for simple cases has been improved.
Opacity widgets that comprise a single rendering primitive, for instance, do not implement the saveLayer method, which is usually called by Opacity instead.
Using the drawing operations costs that it contains, Flutter 3 calculates the rendering picture complexity. In this way, memory usage is reduced without compromising Flutter app performance.
In Flutter 3, Android and iOS platforms have been given some significant modifications.
The all-new Flutter release incorporates foldable mobile devices. The latest widgets and features allow you to build dynamic and appealing experiences for the eye on foldable devices. This feature was designed in collaboration with Microsoft.
As of the new release of Flutter on iOS devices, including iPad Pro and iPhone 13 Pro, variable refresh rates and ProMotion displays are supported. You can now render at refresh rates as high as 120Hz. With smooth scrolling, fast animations will appear more fluid.
Some significant enhancements have been made, particularly improvements in performance.
With Flutter 3, Flutter app developers can decode images asynchronously off of the main thread. Images are encoded by the browser's built-in codecs. Using this technique, the image is decoded twice as fast, and the main thread is never blocked by the previous junk.
You now have control over the way in which your app bootstraps thanks to the new Flutter web app lifecycle API. Additionally, you can leverage desktop support for your app. The enhanced web codec API also offers faster scrolling with a high probability of achieving 60 fps while decoding images.
Let us have a look at some additional add-on features of Flutter 3.
With the extension of ThemeData, you can now add anything to the material library. By mentioning ThemeData.extensions, instead of extending ThemeData and implementing copyWith, lerp, etc., you can avoid duplicate programming. ThemeExtensions can also be provided as a package developer.
The latest version of Flutter 3 supports publisher needs for making personalized ads and managing Apple's App Tracking Transparency (ATTT) requirements. Google provides its own User Messaging Platform (UMP) SDK as a replacement for the open-source Consent SDK.
Dart 2.17 will be released simultaneously with Flutter 3. Among its key features are portability and productivity. This release includes new language features such as enums with members, superclasses with parameter passing, and named parameters with more flexibility.
Additionally, Dart linter package:lints and C interop are now improved by dart:ffi. Some of the new features included are:
Flutter 3 demonstrates Google's commitment to multiplatform UI development across the web, mobile, and desktop. Flutter 3 completes the transition from mobile-centric to multiplatform, adding support for macOS and Linux desktop apps, Firebase integration improvements, productivity and performance enhancements, and Apple Silicon support. Flutter’s efforts to establish itself as an innovative platform that continues to benefit businesses of varying sizes and capabilities around the world are awe-worthy and deserve to be appreciated. The cross-platform future that Flutter 3 projects looks bright and promising.
Flutter 3.0 was released on May 11, 2022 at Google I/O 2022 Edition, featuring macOS and Linux support, as well as Material Design 3.
With the release of the 3.0 version of Flutter, it now provides stable support for macOS and Linux. You now have the chance to build apps for Flutter that will run on six different platforms while utilizing the same Dart codebase. Flutter is also supported by iOS, Android, Web, and Windows in addition to macOS and Linux.