Google announced a new version of Flutter with new features and improvements. So, in this article, we will see what is new in Flutter 2.8. Flutter is one step closer to stable desktop support with its new features and improvements.
What is new in Flutter 2.8?
Flutter supports mobile, web, and desktop development in a single SDK. This allows developers to focus on what to build. It eliminates the dilemma of choosing the platform for app development. Flutter offers a high-performance, high-productivity framework. With the help of a single codebase, developers can target multiple platforms for app development.
1. New features and improvements
The main focus of Flutter version 2.8 is mobile performance. Also, the latest update made it easier to connect apps to back-end services, such as Firebase and Google Cloud. The new release added major upgrades to the camera and web plugins. The new release also includes the version Dart 2.15, which made some major improvements to concurrency.
One more thing that Google focused on in this release is improving developer productivity. Various features such as hot reload are extremely useful for developers. There is a sign-in widget in this release that uses Firebase to handle authentication. With the help of this widget, you don’t have to worry about two-factor authentication or reset password user flows. Due to features like this, there is a possibility of changing how developers build apps.
2. Game development using Flame
Most developers think that Flutter is just for app development. However, many developers are working towards game development using Flutter. Developers from different communities are taking advantage of the hardware-accelerated graphics support provided by Flutter.
Flutter announced the release of Flame 1.0 – a 2D game engine. Flame gives you everything you need to create your game quickly, and it also includes a component system, animated sprites and images, collision detection, world camera, and many more features.
Developers can extend Flame with other packages by integrating with other libraries. For example, you can merge Flame with packages such as Rive, Forge2D, Fire Atlas etc. Combining Flame with other systems will provide a service for 2D game development. If you are interested in game development, you should check Flame.
3. Flutter DevTools
This release adds an “Enhance Tracing” feature to address debugging issues. It will help developers to solve UI stemming. When any tracing features are enabled, it will include new events for widgets built, render objects laid out, and render objects painted, as appropriate.
Also, the new release of DevTools adds support to profile your app’s performance. This profile contains CPU samples from DartVM initialization to render the first flutter frame. When you press the “App Start Profile” button to load the app start profile, you will see that the “AppStartUp” user tag is selected for the profile. You can also select this user tag filter from the list of available user tags to load your app’s launch profile if available. If you select this day, the profile data will be displayed at the time of launching the app.
4. Web platform views
The new release also improved the performance of platform views for Flutter web. Platform views allow developers to host UI components, and Flutter web implements this with the help of the HtmlElementView widget. This widget allows you to host HTML elements inside your Flutter web app. Users are using platform views by default if they use the web versions of the google_maps_flutter plugin or the video_player plugin.
In the previous version, a new canvas gets created as soon as you embed the platform view. Also, another canvas will be added each time you add the platform view. These extra canvases are expensive to create because each canvas is the size of an entire window. This release reuses canvases created for earlier platform views. So, instead of suffering the cost 60x per second, you suffer the cost just once in the entire lifetime of the app. This means that your web app can contain multiple HtmlElementView instances without impacting performance.
5. GA of Flutter Ads
The other is the general availability of the Google Mobile SDK for Flutter in November. This release supports five ad formats, and it will integrate support for both AdMob and Ad Manager. In addition, it includes a beta version of a new mediation feature that helps optimize ad performance. You can find out more about Google Ads and Flutter app integration and other monetization options on the official website.
6. Removing the Dev channel
Flutter’s “channels” determine how quickly the Flutter framework and engine change on your development machine. The stable version represents the smallest churn, and the master represents the largest churn. Due to resource constraints, developers have recently stopped updating the development channel. Less than 3% of Flutter developers use development channels. Therefore, developers decided to start the process of officially discontinuing the development channel. This is because Flutter engineers spend a lot of time and effort to maintain it. Dropping the channel allows the Flutter team to spend time and energy on other things. Developers can decide which channel they would like to use the Flutter channel command:
- Stable channels represent the highest quality builds. They are (approximately) published quarterly and treated as fixes for critical issues in the meantime.
- Beta channel is an option to stable channels. This is for users who prefer faster cadence. It is currently released monthly and is stable before the release. This is a “fast” channel.
- The master channel is the active development channel. This channel is for contributors or advanced users who are comfortable with unstable builds.
As Flutter engineers decommission the dev channel in the coming months, you can consider the beta or master channels. It will depend on users which channel they want to select.
7. Improvements in DartPad
There are also improvements in DartPad. The improvement is the support for a huge number of packages. There are 23 packages available for import, and the list includes packages such as bloc, characters, collection, google_fonts, etc. The DartPad team will continue to add new packages.
There’s one more DartPad feature that’s pretty good. So far, the latest stable version is always running on DartPad. In this version, you can use the New Channel menu in the status bar to select the latest beta channel release and the previous stable version (called the “old channel”).
8. Firebase with DartPad
With the initialization of FlutterFire, developers can use Firebase from within DartPad. DartPad’s Firebase support includes the core API, authentication, and Firestore. You can expect more Firebase services to appear on DartPad soon. Another thing FlutterFire support makes possible with DartPad is that you can use embedded instances of DartPad directly in your documents.
9. Firestore Object/Document Mapping
Last but not least, the alpha version of Firestore Object / DocumentMapper, a new feature you should know about the integration of Firebase and Flutter. Firestore ODM is designed to increase the productivity of Flutter developers by simplifying the use of Firestore through familiar type-safe and structured objects and methods. With code generation, Firestore ODM improves the syntax for working with documents and collections, and it will allow users to model data in a type-safe way. The ODM also supports strongly typed subcollections, with built-in options for optimizing widget rebuilds using select features.
Thanks for remaining till the end of the article. I hope you have enjoyed reading this article. To summarize, in this article, we have discussed what is new in Flutter 2.8. Do let us know your feedback/comments on the same.
Flutter agency is the best Flutter App development company with a highly experienced team of Flutter developers. We promise to deliver the best application developed in Flutter, which will excel in the market. Also, Flutter Agency is a portal full of excellent resources like Flutter Widget Guide, Flutter Projects, Code libs, etc. So, contact us for your next project.