GOOGLE RELEASES FLUTTER 3.7: LET’S SEE WHAT’S NEW

GOOGLE RELEASES FLUTTER 3.7: LETS SEE WHATS NEW

By Bhawna

Google released Flutter 3.7 at the Flutter Forward event on January 25, 2023, in Nairobi, Kenya. It was an event to connect with the global community of developers. It is a step for the future of app development. There are more Material You widgets and menus support. Google’s Flutter SDK can create apps for mobile, desktop, and web. All of this can be done from a single Dart codebase. There have been 700,000 Flutter apps created across all platforms. Google has prepared a web showcase. It allows you to switch between Material Theming and Material You.

Features of Flutter 3.7

Flutter 3.7: What's New — Walturn

Image source: walturn.com

The biggest feature is the creation of menus. It has new features for creating menus for your app like native support for macOS menus. There are new cascading menu widgets. There is also a feature to add items to right-click/long-press context menus. The text magnifier in Android and iOS works with Flutter’s text fields. Flutter 3.7 also comes with Material 3 widgets. There are tools to support better internationalization. There are new debugging tools.

In Material 3, the comment buttons, floating action buttons, and icon buttons are better organized than that in Material 2. The cards have big rounded corners. The navigation drawer is also better. It has rounded corners that were not there in Material 2. There is a FlexColorScheme package. It has built-in themes. You can customize these themes. The code can be copied to use in the app. Material 3 has got elements, icons, buttons, cards, and many more things. These are with improved designs than those that were in Material 2.

The bottom navigation bar and chip selection widgets have a better design. The switch widget makes it easier to switch. The buttons are cleaner and better than that in material 2.

Future Developments

Flutter 3.7.0 release notes | Flutter

Image source: flutterdocumentation.com

The Flutter team has been working on replacing the Skia with a new solution of its own. It is currently called “Impeller”. It is Flutter’s new engine. It is now ready to be tested with their iOS apps.

Impeller would help apps perform better. The Impeller is still in the testing phase. Google is working on new ways so that Flutter apps can be integrated with the OS in function or platform. For Android and iOS, the Flutter team is working on how platform-native plug-ins can be created. Instead of using platform channels to pass messages to native code, iOS Flutter developers will be able to use Dart’s FFI to call Objective-C and Swift code. With Android, Flutter will be able to use JNI to call Kotlin code.

For Flutter web apps, there is going to be a new “js” library. And it will make it easy to call your app’s Dart code from the outer page’s JavaScript code. You can make a Flutter view on a page through a standard HTML div.

In Flutter web, Google has made efforts toward assembling Dart apps using WebAssembly. This will improve the performance of Flutter on the web. The Dart team has also started full support for the RISC-V design.

Good has also announced that it will release 3.0 of the Dart programming language. Dart 3.0 is available for early alpha testing.

DevTools Update

Flutter devtools by google : r/FlutterDev

Image source: reddit.com

There are new tooling features. There is a memory debugging tool. There are new features like tabs, profiles, trace, and diff. These will help all the memory debugging tools that were there before. They will make debugging easier. The new features have memory allocation for your application by class and memory type. It will also go through the path of the code that does memory allocation at runtime.

The performance page has some new features. There is a new frame analysis tab. This is at the top of the performance page. It will give insights about a selected Flutter frame. Insights will have suggestions for tracing expensive parts of the Flutter frame. They can give an alert about an expensive operation found in the Flutter frame.

Custom context menus

contextmenu - Create on Android a Context Menu when selecting an Item from  a Popup Menu - Stack Overflow

Image source: stackoverflow.com

You can develop custom context menus in Flutter. You can use them to customize the context menus that are in-built. For example, you can create the “Send Email” button and default text selection toolbar. These are shown when the user makes the email address code. There is a contextmenubuilder parameter that gets added to an already existing widget that shows the context menu by default like TextField widget. You can go back to any of the widgets you like from contextmenubuilder. This has the changing default platform-adaptive context menu. This new feature will work regarding text selection. For example, you can make an image widget that shadows the save button when you right-click or long-press. You can use Contextmenucontroller to see the current platform default context menu when developing custom mobile apps.

We can add custom context menus anywhere, be it a text selection toolbar or a widget. The text selection has improved. This is with regard to scrolling context. There is a magnifying glass when we select text on iOS and Android.

We can add menu bars and cascading menus. The platform view backgrounds can be blurred. Flutter has also added the FlexColorScheme package. It has more than 50 built-in themes. These are customizable. There is also an online background for testing this. You can customize the widgets by adding a theme code. This can be used in the app directly.

Scrolling updates

Synchronize the scrolling of your ListViews in Flutter : r/FlutterDev

Image source: reddit.com

There are many scrolling updates that have come with the release. There is fine-tuning with trackpad interactions. There are new widgets like Scrollbar and DraggleScrollableSheet. These will improve the handling of the text selection like the context of scrolling.

So, the macOS apps will have a high field with new scrolling dynamics. These will align with the desktop platform.

There will be new AnimatedGrid and SilverAnimatedGrid. These will animate the items that are added to the list.

Conclusion

Flutter gives a great experience. It is because of the talented team. The Flutter team gives a high-quality experience to its users. It is a great addition for developing apps. Flutter is easy to use. The additions in Flutter are Material 3, Dart 3, adaptive layout, Impeller preview, and 3D support.