Flutter 3.19 — What’s New In Flutter
In this blog, we will learn about Flutter 3.19. We will also implement a demo and how to use them in your Flutter applications. So let’s get started.
If you’re looking for the best Flutter app development company for your mobile application then feel free to contact us at — support@flutterdevs.com.
Table of Contents :
Introducing Flutter 3.19:
Today marks the arrival of Flutter 3.19, a milestone release packed with exciting new features and enhancements. Among the highlights is the introducing of a new Dart SDK for Gemini, empowering developers with enhanced performance and capabilities. Additionally, developers now have access to a versatile widget designed to offer precise control over widget animations, alongside rendering improvements with updates to Impeller.
Flutter 3.19 doesn’t stop there; it also introduces essential tooling for implementing deep links, streamlining the development process. Moreover, this release extends support to Windows Arm64, broadening the range of platforms developers can target with their Flutter applications.
The Flutter community’s dedication is evident in this release, with an impressive 1429 pull requests merged, contributed by 168 community members. Notably, 43 individuals made their inaugural contributions to the Flutter codebase, underscoring the vibrancy and inclusivity of the Flutter community.
Keep reading to discover the latest additions and improvements that define this remarkable release!
What’s new we got?
AI Integration: —
Gemini Google AI Dart SDK (beta) — Beta release of Google AI Dart SDK integrates generative AI into Dart/Flutter apps via Gemini models. Explore google_generative_ai package on pub.dev for quickstarts & tutorials.
Framework: —
Scrolling improvements — In the latest Flutter update, scrolling behavior has been enhanced for smoother navigation. MultiTouchDragStrategy.latestPointer
now offers consistent scrolling regardless of the number of fingers used. Bugs inSingleChildScrollView
andReorderableList
have been fixed, addressing crashes and unexpected behavior. Two-dimensional scrolling has been refined, ensuring interruptions during scroll actions. Additionally, TableView
in the two_dimensional_scrollables
package has received updates, including enhanced features like merged cells and compatibility with the 2D foundation improvements.
=AnimationStyle — Flutter introduces the AnimationStyle
widget, empowering developers to customize animation behavior in MaterialApp
, ExpansionTile
, andPopupMenuButton
, including curve and duration overrides.
SegmentedButton.styleFrom — Introduction of styleFrom
method for SegmentedButton
, facilitating easy creation of ButtonStyle
for shared usage or theme configuration.
Adaptive Switch — The adaptive component seamlessly blends into macOS/iOS or adopts Material Design elsewhere. Consistent API across platforms, independent of Cupertino library. See adaptive switch PR& live example on Switch.adaptive
constructor API page.
Increased access to text widget state — Support for MaterialStatesController
inTextField
andTextFormField
facilitates listening to MaterialState
changes.
Engine: —
Impeller progress — Flutter 3.16’s Impeller on Vulkan for Android covers 77% devices, now with OpenGL feature parity including MSAA. Developers urged to upgrade, report issues for refinement. Detailed device and Android version feedback crucial. Vulkan offers enhanced debugging but with added runtime overhead. Performance focus post-fidelity, with Vulkan subpasses for blend modes, CPU utilization reduction via Stencil-then-cover, and Gaussian blurring improvements for iOS. Read more.
API improvements: —
Glyph Information — New methods, getClosestGlyphInfoForOffset
and getGlyphInfoAt
, are added to dart:ui
’s Paragraph
object, introducing the GlyphInfo
type. Refer to the documentation for details on GlyphInfo.
GPU tracing — Flutter engine now provides GPU frame timing on Impeller for iOS/macOS/Simulator and Vulkan-enabled Android devices in debug/profile builds, accessible in DevTools under “GPUTracer”. Impeller’s GPU tracing requires a flag in AndroidManifest.xml due to potential misreporting by non-Vulkan Android devices regarding GPU timing support.
<meta-data
android:name="io.flutter.embedding.android.EnableOpenGLGPUTracing"
android:value="true" />
Performance optimizations: —
Specialization constants — Adding support for specialization constants to Impeller reduced the Flutter engine’s uncompressed binary size by nearly 350KB.
and others.
Android: —
Deeplinking web validator — Developers find deep linking challenging and error-prone. To address this, 3.19 has released an early version of the Flutter deep link validator. It currently supports web checks on Android, validating assetlinks.json
setup. Simply import your Flutter project into DevTools to verify your configuration. Future updates will include web check on iOS and app check on both platforms, aiming to simplify deep linking implementation. Read more.
Support for Share. invoke — In this release, the default Share button on Android text fields and views has been added to ensure all default context menu buttons are available on each platform.
Native assets feature — Flutter now enables interoperability with functions from other languages via FFI calls through Native assets on Android, advancing support for Native assets.
Texture Layer Hybrid Composition (TLHC) mode — Flutter 3.19 improves TLHC mode for Google Maps and text input magnifier, enhancing app performance.
Custom system-wide text selection toolbar buttons — Flutter’s TextField selection menu integrates custom text selection menu items from Android apps, enhancing user experience.
iOS: —
Flutter iOS native fonts — Flutter text now appears more compact and native on iOS, adhering to Apple design guidelines. Smaller fonts are now spaced out for readability, while larger fonts are compact to save space. Previously, Flutter incorrectly used the spaced-out font for all text sizes. For example, check here.
DevTools: —
DevTools updates — New DevTools release highlights:
- Android deeplinks validation feature added.
- Enhance Tracing menu now tracks platform channel activity, which is beneficial for plugin-based apps.
- Performance and CPU profiler screens are accessible without a connected app, allowing reloading of saved data.
- The Flutter Sidebar in VS Code enables new platforms and offers the option to open DevTools in the external browser window.
Desktop: —
Windows Arm64 support — Flutter on Windows introduces initial Arm64 support, promising enhanced performance for apps on Windows Arm64 devices. Development progress is tracked on GitHub issue #62597, offering Flutter developers broader optimization possibilities.
Conclusion:-
We’ve comprehensively explored nearly all the new features introduced in Flutter 3.19 in this blog. We hope you found it insightful and enjoyable. Take the opportunity to delve into these new features and explore their practical applications.
❤ ❤ Thanks for reading this article ❤❤
If I got something wrong? Let me know in the comments. I would love to improve.
Clap 👏 If this article helps you.
Reference Url:-
What’s new in Flutter 3.19
Revolutionizing App Development with the Gemini API, Impeller Updates, and Windows Arm64 Supportmedium.com
Feel free to connect with us:
And read more articles from FlutterDevs.com.
FlutterDevs team of Flutter developers to build high-quality and functionally rich apps. Hire a Flutter developer for your cross-platform Flutter mobile app project on an hourly or full-time basis as per your requirement! For any flutter-related queries, you can connect with us on Facebook, GitHub, Twitter, and LinkedIn.
We welcome feedback and hope that you share what you’re working on using #FlutterDevs. We truly enjoy seeing how you use Flutter to build beautiful, interactive web experiences.