Flutter 3.7 New Features
Flutter released its new edition i.e. Flutter 3.7 and in its new addition which mostly focuses on improve the flutter framework such as
- The ability to create custom menu bars
- Cascading menus
- Tools to better support internationalization
- New debugging tools and much more which we will talk further in this article
Flutter 3.7 Migrate mostly features
- Badge
- Banner
- BottomAppBar
- Filled buttons
- Filled Tonel Buttons
- SegmentedButton
- Check Box
- Divider
- Menus
- DropdownMenu
- Drawer
- Navigation Drawer
- Progress Indicator
- Radio Buttons
- Slider
- Snack Bar
- TabBar
- TextField
- Input Decorator
Besides above widgets new Flutter 3.7 also refine features like global selection,faster rendering with impeller, DevTools and performance
Let's go to little bit more in context with some of above features
Menu bars and cascading menus
- Flutter can now create menu bars and cascading context menus for only macOS.
- In macOS create a menu bar using the PlatformMenuBar widget(introduced in Flutter 3.7) which defines platform native menu bars rendered by macOS instead of Flutter.
- For all stages we can define Material Design menu that gives cascading menu bars or independent cascading menu bar set off by another UI component i.e. MenuAnchor. You can customize these menus and menu items and also you can create new menu item widgets(MenuItemButton, SubMenuButton).
DevTools updates
- In this update the DevTools memory debugging has undergone a complete overhaul and There are 3 new features such as Profile, Trace and Diff to support all the previous memory.
- New features include the analysis for current memory allocation for app by class and memory type means it will investigate what code path are allocation memory for a set of classes at runtime and diff memory snapshot to understand the memory management two different time
Custom context menus:
- Now you can create custom menus anywhere in your app and this new features also works outside of text selection too
Scrolling updates:
- Polish and refinement for trackpad interactions.
- New widgets such as Scrollbars and DraggableScrollableSheet introduced
- Improved handling for text selection within scrolling contexts.
Memory Management:
- Collective effect of reducing jank caused by garbage collection pauses
- Reducing CPU utilization due to allocation velocity and background GC threads and also reducing the memory footprint.
Sunsetting macOS 10.11 through 10.13:
- In previous version of Flutter there was no support for macOS 10.11 and 10.12. But now in Flutter 3.7 minimum macOS version supported by flutter is increase to 10.14.
Reduce animation jank on IOS devices:
- The addition of a dummy CADisplayLink on the main thread during gestures now faces refreshes at the maximum refresh rate.
- Keyboard animation now set the refresh rate of the CADisplayLink to the same refresh rate used by Flutter engine animation.
Bitcode Deprecation:
- With new version of XCode i.e xcode 14, Bitcode is no longer required for WatchOS and tvOS applications.
- Xcode will not accept bitcode submission from Xcode 14.