Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Keynote - Flutter 3.7 (By: Sakina Abbas) - Flut...

Keynote - Flutter 3.7 (By: Sakina Abbas) - Flutter Forward Extended 2023

Talk by Sakina Abbas (https://www.linkedin.com/in/sakina-abbas/) at Flutter Forward Extended 2023 by GDG Lahore.

Avatar for GDG Lahore

GDG Lahore

March 11, 2023
Tweet

More Decks by GDG Lahore

Other Decks in Programming

Transcript

  1. Flutter 3.7 updates look like this: – i.e. too many

    exciting things to cover! And we have to do this: – i.e. deliver the highlights in short time
  2. Hi, I’m Sakina Abbas! Co-Founder & CEO, Reactree GDE Flutter,

    Dart 7+ years in Mobile Application Development Core Member of Flutter Karachi Pakistan Women in Tech Speaker for Google Developers Space, Singapore Mentor in various Google programs
  3. UI/UX - and all things Widgets! Flutter Web - what’s

    new? Impeller - the new rendering engine! DevTools updates Dart 3α + + + + + What will you learn today?
  4. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton Improved Material 3 support
  5. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu Improved Material 3 support
  6. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer Improved Material 3 support
  7. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer Improved Material 3 support
  8. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer - TextFields & InputDecorators - NEW widgets Improved Material 3 support
  9. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer - TextFields & InputDecorators - NEW widgets - Menu bars & Cascading Menus Improved Material 3 support
  10. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer - TextFields & InputDecorators - NEW widgets - Menu bars & Cascading Menus Improved Material 3 support
  11. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer - TextFields & InputDecorators - NEW widgets - Menu bars & Cascading Menus Improved Material 3 support Demo Time!
  12. - Migration of the following widgets: - Badge - BottomAppBar

    - SegmentedButton - DropdownMenu - Drawer & NavigationDrawer - TextFields & InputDecorators - NEW widgets - Menu bars & Cascading Menus Improved Material 3 support Demo Time! Code::
  13. - We had AnimatedList - We now have AnimatedGrid &

    SliverAnimatedGrid Scrolling - what’s new?
  14. - We had AnimatedList - We now have AnimatedGrid &

    SliverAnimatedGrid - Polished trackpad interactions Scrolling - what’s new?
  15. - We had AnimatedList - We now have AnimatedGrid &

    SliverAnimatedGrid - Polished trackpad interactions - Added new scrolling physics specific to MacOS Scrolling - what’s new?
  16. - We had AnimatedList - We now have AnimatedGrid &

    SliverAnimatedGrid - Polished trackpad interactions - Added new scrolling physics specific to MacOS - itemBuilder > indexedWidgetBuilder > NullableIndexedWidgetBuilder Scrolling - what’s new?
  17. - We had AnimatedList - We now have AnimatedGrid &

    SliverAnimatedGrid - Polished trackpad interactions - Added new scrolling physics specific to MacOS - itemBuilder > indexedWidgetBuilder > NullableIndexedWidgetBuilder - Performance improvements > smooth scrolling Scrolling - what’s new?
  18. - SelectionArea supports keyboard selections now - Text magnifier enabled

    by default for android & iOS Other UI/UX updates
  19. - SelectionArea supports keyboard selections now - Text magnifier enabled

    by default for android & iOS - contextMenuBuilder now added to TextField etc for Custom Context Menus Other UI/UX updates
  20. - YOU. CAN. NOW. EMBED. A. FLUTTER. APP. IN. NATIVE.

    WEB. - just like a <div> Flutter Web - Element Embedding
  21. - YOU. CAN. NOW. EMBED. A. FLUTTER. APP. IN. NATIVE.

    WEB. - just like a <div> - CSS styles can be applied - State can be changed with JavaScript Flutter Web - Element Embedding
  22. - YOU. CAN. NOW. EMBED. A. FLUTTER. APP. IN. NATIVE.

    WEB. - just like a <div> - CSS styles can be applied - State can be changed with JavaScript Flutter Web - Element Embedding Demo Time!
  23. - Web assembly: High performance, low latency of web apps

    Flutter Web - support for web assembly & RISC-V
  24. - Web assembly: High performance, low latency of web apps

    - RISC-V: Devices built on RISC-V architecture now supported e.g. servers, embedded devices, etc. Flutter Web - support for web assembly & RISC-V
  25. - Simply put: Flutter currently uses Skia for rendering Impeller

    is a new and improved rendering runtime for Flutter Impeller - the new rendering engine! stable for iOS as of now
  26. - Simply put: Flutter currently uses Skia for rendering Impeller

    is a new and improved rendering runtime for Flutter - Skia > shader files are compiled at runtime - resulting in janks Impeller - the new rendering engine! stable for iOS as of now
  27. - Simply put: Flutter currently uses Skia for rendering Impeller

    is a new and improved rendering runtime for Flutter - Skia > shader files are compiled at runtime - resulting in janks - Impeller > precompiles smaller & simpler set of shaders - Predictable performance - Effective use of concurrency - Effective use of modern graphics API; Vulkan, Metal Impeller - the new rendering engine! stable for iOS as of now
  28. - Simply put: Flutter currently uses Skia for rendering Impeller

    is a new and improved rendering runtime for Flutter - Skia > shader files are compiled at runtime - resulting in janks - Impeller > precompiles smaller & simpler set of shaders - Predictable performance - Effective use of concurrency - Effective use of modern graphics API; Vulkan, Metal Impeller - the new rendering engine! stable for iOS as of now Demo Time!
  29. - Simply put: Flutter currently uses Skia for rendering Impeller

    is a new and improved rendering runtime for Flutter - Skia > shader files are compiled at runtime - resulting in janks - Impeller > precompiles smaller & simpler set of shaders - Predictable performance - Effective use of concurrency - Effective use of modern graphics API; Vulkan, Metal Impeller - the new rendering engine! stable for iOS as of now Demo Time! Read More::
  30. - Frame Analysis Helpful insights and suggestions - New &

    improved Memory debugging tool - 3 new feature tabs: profile, trace, diff - Analyse current memory allocation by class & memory type - Compare memory snapshots (t1 vs t2) - Investigate code paths allocating memory DevTools updates
  31. - Supports 100% sound null safety - Class Modifiers 🌚

    - Base > extended, but not implemented - interface > implemented, but not extended - final > not extended, not implemented - sealed > for exhaustive type checking - mixin Introducing Dart 3α
  32. - Supports 100% sound null safety - Class Modifiers 🌚

    - Base > extended, but not implemented - interface > implemented, but not extended - final > not extended, not implemented - sealed > for exhaustive type checking - mixin - Records & Patterns - Records > return composite data - Patterns > fetch composite data Introducing Dart 3α (double x, double y) geoLocation(String name){ if (name == 'Lahore') { return (31.5222, 74.3612) ; } else { ... } } void main(List<String> arguments) { final (lat, long) = geoLocation( 'Lahore'); print('Current location: $lat, $long'); }
  33. - Direct platform library interop - Call platform libraries directly

    from dart - FFIgen & JNIgen - Support for Web Assembly & RISC-V Introducing Dart 3α