Thursday, December 16, 2021

What’s New In Flutter 2.8?

Flutter gained a huge popularity among the developer community as it supports web, mobile and desktop development in a single SDK. It offers a high-performance, high productivity framework. With a single codebase, programmers can target multiple platforms for app development. Google announced a new version of Flutter with improvements and new features. Flutter 2.8 is closer to stable desktop support with improvements and new features. Let’s see the new improvements and features of Flutter 2.8.

New Features And Improvements In Flutter 2.8?

Flutter logo

1. Improvements And New Features-

Main focus of Flutter 2.8 is mobile performance. Latest updated eases the app connection to back-end services like Google cloud and Firebase. Latest release included major upgrades to the web plugins and camera. Also it includes the version Dart 2.15 that made some major improvements to concurrency. In this release, Google also focused on improving developer productivity. Lots of features like hot reload are useful for programmers. In this release, there is a sign-in widget that uses Firebase to handle authentication. With this widget, you don’t need to worry about two-factor authentication or reset password user flows. Because of such features, there is a possibility of changing how programmers build apps.

2. Firebase And FlutterFire-

There are some updates associated with this release for FlutterFire users. Let’s see what features it adds that intend to simplify application development with Flutter and Firebase. 

  • New support in DartPad for several Firebase services
  • Up-to-date libraries to easily  build for authentication and live Firestore queries.
  • All FlutterFire plugins are graduating from beta to stable
  • New Firestore Object/Document Mapping for Flutter, available in Alpha

One more significant update includes the ascension of all FlutterFire plugins from beta to stable. Major plugins that move to stable and ready for production use for iOS, Android, and web are Dynamic Links, Analytics, Performance Monitoring, Realtime database, In-App messaging, Remote Config etc.

On the cord of Firebase, you will see new support in DartPad for Firebase services, live Firestore query UI, new libraries for authentication and new alpha version of Firebase Object/Document Mapping for Flutter.

3. Game Development Using Flame-

Lots of programmers think that Flutter is only for app development. But many developers are working towards game development using Flutter. Programmers 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 provides everything you need to create your game quickly, and also it includes a component system, animated images, collision detection, world camera and  so on.

Programmers can extend Flame with other packages by integrating with other libraries. For instance, you can merge Flame with packages like Rive, Forge2D, Fire Atlas and so on. Combining Flame with other systems will provide a service for 2D game development. If you are going to build game, you should check Flame.

4. DevTools-

Flutter 2.8 release adds an “Enhance Tracing” feature to address debugging issues. This will help programmers to solve UI stemming. When enabled any tracing features, it will include new events for widgets built, render objects laid out and render objects painted as appropriate. The new release of DevTools includes support to profile your application’s performance. This profile includes CPU samples from DartVM initialization to render the first flutter frame. After pressing the “App Start Profile” button to load the app start profile, you can see that the “AppStartUp” user tag is selected for profile. One can select this user tag filter from the list of available user tags to upload app’s launch profile if available. If you select this, the profile data will be displayed at the time of launching app.

5. GA For Flutter Ads-

Next one is general availability of Google Mobile SDK for Flutter. This new release supports five ad formats and it will integrate support for both AdMob and Ad Manager. Also, it includes a beta version of new mediation feature that helps to optimize the ad performance. 

6. Improvements In Web Platform Views-

This latest release improved the performance of platform views for Flutter web. Platform views allows programmers to host UI components and Flutter web implements this with HtmlElementView widget. With this widget you can host HTML elements in your Flutter web app. Users are using platform views by default if they use web versions of google_maps_flutter plugin or video_player plugin. 

In the last version, a new canvas gets created when you add the platform view. Whenever you add the platform view, another canvas will be added each time. Those extra canvases are expensive to create because every canvas is the size of an entire window. This release reuses canvases created for previous platform views. Hence, rather than suffering the cost 60x per second, you suffer the cost only once in the entire lifetime of the app. Meaning that your web app can contain various HtmlElementView instances without impacting performance. 

7. Removing The DevChannel-

Flutter’s “channel’s decide how rapidly the Flutter framework and engine change on your development machine. Stable version represents the smallest churn and the master presents the largest churn. Because of resource constraints, programmers have recently stopped updating the development channel. Less than 3% of Flutter programmers use development channels. Hence programmers 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 enables the Flutter team to spend time and energy on other things. Programmers can decide which channel they would like to use Flutter channel command:

  • Beta channel os option to stable channels. This is for users who want rapid cadence. Now it is released monthly and is stable before the release. This is a “fast” channel”
  • Stable channels represent the highest quality builds. Approximately, they are published quarterly and treated as fixes for critical issues in the meantime. 
  • Master channel is an active development channel. It is for contributors or advanced users who are comfortable with unstable builds. 

No comments:

Post a Comment