Flutter App Development

Flutter 3.24: What’s New? A Detailed Guide

17th Oct 2024
globe

Welcome to the latest Flutter update Guide! Flutter 3.24 has exciting new features and improvements to enhance the app development experience.

Flutter 3.24

One of the standout highlights is the preview of Flutter GPU, which empowers the creation of advanced graphics and immersive 3D scenes within Flutter. Additionally, web apps can now seamlessly embed multiple Flutter views, boosting the app’s versatility. And that’s not all—this update also includes support for video ad monetization. Dive in and explore all the possibilities Flutter 3.24 offers!

Key Features

Significant GPU Rendering

This new low-level graphics API allows the build of custom renderers using Dart code and GLSL shaders, eliminating the need for native platform code.

Flutter GPU enhances rendering capabilities, enabling richer graphics and 3D scenes. It currently requires Impeller rendering, available on iOS, macOS, and Android.

With this API, you gain complete control over render pass bindings, vertex stages, and GPU data loading, giving you the tools to push your graphics to the next level.

Multi-View Embedding - Web

Flutter web applications can now utilize multi-view embedding, enabling developers to render content in multiple HTML elements simultaneously. This feature, called “embedded mode” or “multi-view,” provides flexibility for integrating Flutter views into existing web applications.

In multi-view mode, a Flutter web application doesn’t render immediately upon launch. Instead, it waits for the host application to add the first “view” using the addView method. The host application can dynamically add or remove these views, and Flutter will adjust its widgets accordingly.

Dynamic App Bars with New Slivers

  • SliverFloatingHeader

This feature lets app bars float over content as users scroll, creating a smooth and visually appealing experience.

  • PinnedHeaderSliver

This keeps the app bar anchored at the top of the screen, ensuring it remains visible while users scroll down.

  • SliverResizingHeader

This functionality allows the app bar to dynamically resize based on the scroll position, facilitating more interactive and responsive designs.

Cupertino Library Enhancements

One major improvement is the enhanced haptic feedback for Cupertino Action Sheet buttons, which now deliver a more tactile and responsive experience. Additionally, these buttons' font size and weight have been adjusted to better match native iOS aesthetics. New focus properties have also been introduced for Cupertino Button, which allows customizing the color of a disabled CupertinoText Field.

Introducing TreeView and CarouselView Widgets

  • TreeView Widget

Included in the two dimensional scrollable library, It is designed for creating scrolling tree structures that can expand in various directions. Additionally, it features TreeSliver, which supports one-dimensional scrolling trees while ensuring compatibility with the TreeView API for seamless integration.

  • CarouselView
  • It showcases an "Uncontained" layout that enables a scrollable list of items reaching the edges of the container.

    Updated SelectionArea Widget

    SelectionArea now includes support for more native gestures. By default, the SelectionArea and SelectableRegion widgets leverage these new gestures.

    A. Double Tap: Selects the word at the tapped position (supported on native Android, Fuchsia, iOS, and Android/Fuchsia web).

    B. Double Tap + Drag: Extends the selection across word blocks (supported on native Android, Fuchsia, iOS, and iOS web).

    C. Triple Click: Selects the paragraph block at the clicked position.

    D. Triple Click + Drag: Extends the selection across paragraph blocks.

    Improved defaults for downscaled images

    The default FilterQuality for images has been adjusted from FilterQuality.low to FilterQuality.medium. This change addresses situations where a large image is much larger than its destination rectangle; using FilterQuality.low can lead to a pixelated look and slower rendering than FilterQuality.medium.

    Enhanced enum features for AnimationStatus

    Enhanced enum features have been added to AnimationStatus, introducing new getters. While some of these getters were previously available in Animation subclasses like AnimationController and CurvedAnimation, they are now accessible across all Animation subclasses and AnimationStatus. Additionally, a toggle method has been added to AnimationController, allowing for easy switching of the animation's direction.

    Advanced DevTools for Enhanced Development Experience

    Advanced DevTools enhances debugging and profiling capabilities. These tools deliver deeper insights into app performance, allowing developers to track memory usage, monitor frame rendering times, and effectively identify potential bottlenecks.

    Video ad monetization support

    A new Interactive Media Ads (IMA) plugin has been released to support instream video ad monetization in Flutter mobile apps.This IMA plugin enhances ad monetization options for Flutter applications, complementing the existing Google Mobile Ads (GMA) plugin.

    • Seamless Monetization: Effortlessly monetize video player content in Flutter apps. For example, when a user clicks play on a video, the Flutter IMA plugin enables to display a 15-second ad before the video begins.
    • Access to Native IMA SDK Benefits: Leverage the advantages of the native IMA SDK, including access to premium Google ad demand and compliance with industry standards like IAB VAST.

    The initial launch version supports pre-roll video ads on both Android and iOS platforms.


    Picture 12

    11.Other Updates

    Swift Package Manager initial support: Flutter currently relies on CocoaPods to manage native iOS and macOS dependencies. With Flutter 3.24, early support for Swift Package Manager has been introduced, providing access to the Swift package ecosystem.

    Shared Preferences Plugin Updates:

    • SharedPreferencesAsync: This API allows for asynchronous operations, improving performance when accessing shared preferences.
    • SharedPreferencesWithCache: This API introduces caching functionality, enhancing efficiency by reducing the need for repeated reads from storage.

    Dart 3.5 : Dart 3.5 brings valuable features like pattern matching and record types that greatly improve code expressiveness and reliability. Pattern matching simplifies conditional logic, allowing for cleaner and more intuitive code, while record types let you group multiple values without creating custom classes. Together, these enhancements streamline the development process, enabling developers to build high-quality applications more quickly and with fewer bugs. Overall, Dart 3.5 equips developers to write more efficient and maintainable code.

    Final Thoughts

    Flutter 3.24 marks a significant milestone for the framework, introducing new features, performance improvements, and tooling enhancements that reinforce its status as a top choice for cross-platform development

    Read more articles

    globe

    How Much Does It Cost To Develop A Flutter App In India: A Complete Guide

    Understand the key factors affecting Flutter app development cost and learn how ...

    globe

    Flutter 3.24: What’s New? A Detailed Guide

    Welcome to the latest Flutter update Guide! Flutter 3.24 has exciting new feat...

    globe

    How To Build An Intranet: A Step-By-Step Beginner’s Guide

    Businesses can't operate effectively without an intranet that allows internal co...