Flutter 2.8 is the latest update to Google’s app development toolkit that comes with many new features and a massive boost in performance.
If you have not yet tried it, Flutter is a cross-platform framework to create mobile apps for android, iOS, Windows, macOS, Linux, and the web from the same code. The release of Flutter 2 breathed a whole new life into the project’s growth.
The release of Flutter 2.8 resulted in 2424 PRs merged and 2976 issues closed, causing a considerable performance improvement and offering a high productivity framework.
Flutter 2.8 allows you to focus on what you need to build without worrying about what platform you need to use and a lot many other problems. Using a single codebase, you can build apps for multiple platforms on Flutter.
Here are some improvements made in version 2.8 of Flutter:
Google is actively focused on improving the performance of your mobile, as most of their important apps like Google Play are built with Flutter. Flutter 2.8 concentrates mainly on making your mobile run seamlessly. With the improvements that come with Flutter, your apps should work faster and utilize less space.
Flutter 2.8 makes it easier for you to connect your apps to back-end services. Connecting your apps to back-end services offers you a great deal of scalability. Back-end service does not require you to perform any hosting or maintenance. You do not need to manage cloud servers using back-end services; hence it saves you a lot of time. Back-end services are also very flexible, i.e., you can use them for mobile app development and web development. The five best back-end services for your Flutter app, Back4App, Parse, Firebase, Backendless, and AWS Amplify can render great improvement to your app’s performance.
You might need some authentication from a user before they start using your app. Firebase authentication ensures security and allows you to create new accounts, validate email addresses, reset passwords, and provide two-step verification methods. You can also set up google sign-in platforms, Facebook sign-in platforms, or any other sign-in types. In short, Firebase gives you all kinds of sign-in / sign-up functions any app requires.
The new release allows a sign-in widget that handles authentications using firebase. You do not need to worry about two-factor authentication or reset password user flows. The sign-in widget has got you covered.
The release also includes improvements to cameras and web plugins. All the firebase plugins for flutter have been upgraded from ‘Beta’ to ‘Stable.’
The release also provides an update to Dart programming language SDK, i.e., Dart 2.15, which is why significant improvements to concurrency have occurred.
It also provides a new constructor tear-off language feature.
This update is also a reason for the many other improvements in Flutter 2.8. Hence, if you use Dart anywhere else than Flutter, you might also experience some improvements mentioned above that are mainly due to this update. For instance, with Dart 2.15, you now get all the DevTools when you download the Dart SDK, whereas previously, you had to download them separately.
When you hear about Flutter, the thought that crosses your mind is a platform just for app development, but it is not that limited. You can develop games using Flutter by taking advantage of the hardware-accelerated graphics support, especially with the latest update.
The update comes with the addition of a stable Flame 1.0, a 2D game engine built on top of Flutter. It gives you a game loop and support for tools for physics, animations, and mapping, etc., and core primitives such as a component system, sprites, collision detection, world camera, effects, and gestures. You can also merge Flame with other packages such as Rive (for music and sound effects), Forge2D (a physics engine), Fire Atlas (for sprites and animations), which will provide a more robust and much broader set of services for game development.
DevTools is a performance and debugging tool for Dart and Flutter. It offers an enhanced tracing feature that will help you solve UI stemming. Some other tasks that you can perform using Flutter DevTools are:
a.) Inspect the UI layout
b.) Diagnose UI jank stemming from an expensive build
c.) CPU profiling
d.) Network profiling
e.) Source level debugging of a Flutter or Dart app
f.) Debug memory issues
g.) Analyze code and app size
As discussed earlier, Google is actively focused on improving mobile app performance, but it is not the only field they are improving in. With the new release, you will experience a dramatic improvement in the performance of Flutter web. Flutter lets you host native UI components through platform views. Flutter implements this with the help of the HtmlElementView widget, which allows you to host HTML elements in your Flutter app.
The new release also reuses canvases that you created for previous platform views. The older versions did not offer this service. Instead, every time you embedded a platform view, a new canvas was made, i.e., each platform view added a new canvas which is too expensive as it is the size of a whole new window. So now, instead of suffering the cost for each new canvas, you only have to pay for the cost of one canvas in the entire lifetime of the app without any impact on the performance.
The Google Mobile Ads SDK for flutter went into general availability in November, which supports five ad formats which are banners, interstitials, rewarded videos, native ads, and app open ads. You can manage the advertisements using both AdMob and Ad Manager. The release also offers a mediation feature to optimize your ad performance.
In the new release, Flutter has started a process to decommission the Dev channels. A Flutter channel governs how fast an underlying Flutter framework or engine changes. Less than 3% of developers use the development channels. The developers have stopped updating the development channels. It takes considerable time and effort of Flutter engineers to maintain it, so instead of wasting time here, they can focus their energies on other things.
Developers can use the following channels to use the Flutter channel command:
They are the highest quality builds and are published quarterly.
They are for developers that need faster cadence. They can use these channels as an alternative for stable channels.
It is the active development channel. It does not offer stability, so it is for advanced users who are comfortable with unstable builds.
The most impactful improvement in DartPad is providing support for numerous packages. Twenty-three packages are already available for import, and the DartPad team is continuously working on adding more packages.
These include many well-known packages such as bloc, characters, collection, google fonts, flutter riverpod, etc.
There is another impressive feature added to DartPad by which you can select the latest beta channel release as well as the previous stable releases from the New Channel menu in the status bar. Previously, DartPad did not allow you to use the preceding stable releases.
Developers can use Firebase services from within the DartPad with the help of a plugin, namely flutterfire. Flutter 2.8 turns all beta flutterfire plugins into stable versions that run smoothly and seamlessly. This firebase support includes core API, authentication, and Firestore Object/ Document Mapping. FlutterFires support in DartPad also enables you to use an embedded instance of DartPad right in the docs.
Firestore Object / Document Mapper is a new feature that comes with integrating Firebase and Flutter. It increases the productivity of Flutter developers by providing type-safe and structured objects and methods hence simplifying the use of Firestore. It improves the syntax for working with documents and allows you to model data in a type-safe way.
Flutter’s support for desktop app development is not there yet compared to other platforms. Still, version 2.8 does offer some improvements in internationalization and localization support like the Chinese IME support, the Korean IME support, and the Kanji IME support.
One of the many ongoing works to make a stable desktop release is the re-architecture of keyboard handling of Flutter. It started initially with Flutter 2.5 but Flutter 2.8 fixes many issues.
Other ongoing works include exposing alignments for dialogs and expanding Flutter’s support for visual density. Another team is working on implementing well-known firebase plugins for flutter.
Before Flutter 2.8, users often complained about memory issues. The root problem was Flutter reading Dart VM’s “service isolate” and the app itself into the memory simultaneously. In the new release, this is not the case. The “service isolate” is split into Dart VM’s bundle and is loaded separately. As a result, users save up to even 40 MBs of memory, which is a lot. Moreover, Dart VM sends a message to the OS that the pages in the memory have a file backup that will most likely not be reread. This feature further reduces the memory footprint by 10 percent at the very least.
There were two shortcomings in the earlier versions of the app. First, the developers were not offered a free hand to trace the data from Flutter from any tracer other than native tracing events of Android. Second, these trace events were not available to be seen in release mode builds. Flutter 2.8 addressed these issues and allows developers to view performance data Android system recorder, even in the release mode.
There was a notable startup latency in applications with the previous patches of the app, which was due to the cautious measures taken by Flutter developers. After detailed testing and reasoning, the developers realized that some of those measures could be removed to enhance the startup and reduce the latency. After these changes were incorporated into Flutter 2.8, the app’s makers performed their tests on Google Pay. In comparison, the startup latency of Google Pay was reduced to 50 percent in low-end devices and 50 percent in high-end gadgets. Almost 100ms of blockage was experienced to be removed during the launch of Google Pay on low-end mobiles, while the time to load the first frame was brought down to 300ms.
The previous versions of Flutter were a great success and changed the whole app development industry. Still, there was a lot of room for improvement as many users noted several shortcomings. In the latest Flutter 2.8 patch, not only were these shortcomings addressed, but the developers also introduced several new features that took the world by storm. So, if you are a mobile or desktop app developer and want your app to survive in the future, Flutter 2.8 is what you are looking for.
Promatics is an ISO 9001:2008 certified offshore web and mobile application development company with a strong team of 100+ highly skilled IT experts delighting SMEs across USA, Europe and APAC. Our services and solutions help clients to achieve tangible business value and remain competitive in today’s evolving marketplaces.