Flutter 3.18 | beta release | Top 8 Feature

Explore Flutter 3.18 beta: Apple font, Adaptive Switch, enhanced scrolling

Shirsh Shukla
5 min readDec 28, 2023

In this article, we will explore the Flutter 3.18— What’s New In Flutter. Now that Flutter 3.18 is available, it’s a beta release but it’s packed with lots of cool new features that you should know, this beta version introduces exciting features like seamless Apple font integration, improved Adaptive Switch, and enhanced scrolling behavior. Developers gain more control with MaterialStatesController support for Text Widgets, ensuring dynamic responses and lot more.

So, without getting into further discussion, let’s dive into this article to explore eight important aspects that this update brings.

1. Apple System Fonts Support in Flutter Text

2. Adaptive Switch Component Enhancement

3. Scrolling Behavior Enhancements

4. Extended Access to Text Widgets’ State

5. UndoHistory Stack Modification

6. Visual and Animation Improvements

7. Framework Commit Highlights

8. Engine Upgrades and Specialization Constants

If you’d like a quick and easy explanation, watch this video:

1. Apple System Fonts Support in Flutter Text

Now with this update, the text in Flutter appears a bit more compact and closer to the native look on iOS. Specifically, the “Text” font is being made more secure for the future, ensuring it remains compatible with potential changes in Apple’s API. Moreover, the “Display” font has been fixed to work correctly, addressing an issue where it wasn’t functioning properly before.

2. Adaptive Switch Component Enhancement

in this feature, the Switch.adaptive implementation has been updated. It used to rely on the Cupertino library, but now it doesn’t. The Material component now takes care of everything, and all switch properties are supported by the .adaptive version. Additionally, you can customize the appearance of adaptive components.

3. Scrolling Behavior Enhancements

It describes that the scrolling behavior is refined. A key enhancement is the ability to configure default scrolling using MultiTouchDragStrategy.latestPointer. This allows for a consistent scrolling experience, regardless of the number of fingers used. The update also resolves issues with scrolling interruptions during drag or tap actions, ensuring a smoother and predictable scrolling experience. These improvements enhance user experience, making Flutter applications more responsive and user-friendly in scrolling interactions.

4. Extended Access to Text Widgets’ State

Flutter’s TextField and TextFormField get a big upgrade with MaterialStatesController support. Developers can now easily track and respond to state changes, making the user interface more dynamic. This enhances versatility and opens up new possibilities for interactive Flutter apps.

5. UndoHistory Stack Modification

there’s a significant improvement that addresses problems with the undo/redo history stack, specifically related to Japanese keyboards. Developers now have more control over the UndoHistory stack, allowing them to better manage the history of user interactions in their applications. This is especially important in situations where undo and redo features are essential for user workflows. Fixing these issues enhances the overall user experience, making sure that undo and redo functions work smoothly across different keyboard setups, particularly in applications that involve a lot of text input and manipulation.

6. Visual and Animation Improvements

in this, there are several enhancements to improve the visual and animated aspects of the user interface. One notable improvement is the introduction of a consistent UnderlineInputBorder, which gives a standardized look to text input fields. Another noteworthy addition is the AnimationStyle, providing developers with more control over the visual aspects of their app animations. The update also addresses issues with the sliver persistent header expand animation, leading to a smoother scrolling experience. Additionally, developers can now customize the NavigationBar indicator overlay, adding to the overall aesthetic appeal of navigation elements. These changes collectively contribute to a more polished and visually appealing user interface for Flutter applications.

7. Framework Commit Highlights

These changes focus on making it more stable, faster, and more functional. Some highlights include better testing for the BottomNavigationBar, making it easier to test navigation components. Developers will now receive helpful error messages if there are inconsistencies with ThemeData and ColorScheme, making it easier to find and fix issues. The update also ensures that Flutter is compatible with the latest Android version, Android 34, for better performance. Overall, these changes make Flutter more reliable and user-friendly, providing an improved experience for developers.

8. Engine Upgrades and Specialization Constants

Flutter 3.18 has made some important improvements under the hood. They’ve enhanced the Flutter Engine, which is like the core of Flutter, to make it work even better. One notable change is the addition of specialization constants to something called Impeller. This change has significantly reduced the size of the Flutter engine when it’s not compressed.

So, why does this matter? Well, it means that Flutter apps will take up less space, which is good for overall performance. When you open a Flutter app, it should load faster now, and the app should feel more responsive to your interactions. The update also includes some tweaks to make graphics look better, like improving the blurriness and the way graphics are drawn.

So All of these upgrades together make Flutter a more efficient and high-performing framework. This ensures that developers using Flutter can create applications that work really well and provide a great user experience, also i gathered this information by researching multiple websites. If you come across any incorrect or misinterpreted information, kindly bring it to my attention by commenting below.

If you got something wrong? Mention it in the comments. I would love to improve. your support means a lot to me! If you enjoy the content, I’d be grateful if you could consider subscribing to my YouTube channel as well.

I am Shirsh Shukla, a creative Developer, and a Technology lover. You can find me on LinkedIn or maybe follow me on Twitter or just walk over my portfolio for more details. And of course, you can follow me on GitHub as well.

Have a nice day!🙂

--

--

Shirsh Shukla

SDE at Reliance Jio | Mobile Application Developer | Speaker | Technical Writer | community member at Stack Overflow | Organizer @FlutterIndore