Lazy Flutter performance | Session

Sdílet
Vložit
  • čas přidán 27. 08. 2024
  • Learn the limits of performance with lazy-loaded content, and understand how Flutter can help build a smooth experience out of the box.
    Resources:
    Debug and profile your app with Flutter DevTools | Demo→ goo.gle/3ojoYLB
    Speaker: Justin McCandless
    Watch more:
    Flutter at Google I/O 2021 Playlist → goo.gle/io21-F...
    All Google I/O 2021 Technical Sessions → goo.gle/io21-t...
    All Google I/O 2021 Sessions → goo.gle/io21-a...
    Subscribe to Flutter! → goo.gle/FlutterYT
    #GoogleIO #Flutter
    product: Flutter - Troubleshooting and Performance; event: Google I/O 2021; fullname: Justin McCandless; re_ty: Premiere;

Komentáře • 78

  • @DebabrataAcharya93
    @DebabrataAcharya93 Před 3 lety +20

    My man using vim with Flutter. Absolute madlad.

    • @kmp3e
      @kmp3e Před rokem

      It’s the only way I use it

  • @LucaFang
    @LucaFang Před 3 lety +10

    The procedural generation example is insane! Nice Work!

  • @SethuSenthil
    @SethuSenthil Před 3 lety +23

    Yooo! That game example at the end was dope! I really wanna recreate Among Us now

    • @justinmccandless
      @justinmccandless Před 3 lety +1

      There was another Flutter game mentioned in the keynote today that looked really good, it was all 2d pixel art.

    • @doombois8170
      @doombois8170 Před 3 lety

      @@justinmccandless may i know the link or timestamp? thankyou

    • @EdmanPAnjos
      @EdmanPAnjos Před 3 lety +2

      @@doombois8170 It was the bonfire engine, I think they didn't mention the name of the game bonfire-engine.github.io/#/examples

  • @BooleanDev
    @BooleanDev Před 3 lety +3

    that game was really cool, i never thought about creating a game with flutter

  • @MitchellWongHo
    @MitchellWongHo Před 3 lety +7

    Great demo! I really like the procedurally generated map demo 💯

  • @KhalidWar
    @KhalidWar Před 2 lety +1

    It's insane to see what Flutter is capable. Procedural generation makes me want to start making games in Flutter. Amazing!

    • @flutterdev
      @flutterdev  Před 2 lety +1

      There's no better time to start making games in Flutter than now 😁🎮
      Check out the newly launched Casual Games Toolkit: flutter.dev/games?gclid=CjwKCAjwp7eUBhBeEiwAZbHwkRuPztRlKf1ygRt07z_vc_D1KnGdqd4Qz8AJrXz0493Tkamx3_aYGxoC8cgQAvD_BwE&gclsrc=aw.ds

    • @flutterdev
      @flutterdev  Před rokem

      Gaming and Flutter? Oh, yes we did! There are some great resources to help you learn how to build an amazing game. Check them out here: goo.gle/3DzLs42
      If you do make that game, share it! We would love to see what you create 🎨

  • @muhammedsibil8116
    @muhammedsibil8116 Před 3 lety +62

    flutter is growing faster than speed of photons

    • @wdestroier
      @wdestroier Před 3 lety +3

      Isn't the speed of photons constant?

    • @muhammedsibil8116
      @muhammedsibil8116 Před 3 lety

      @@wdestroier no it's not stable., it's like communist! 😜

  • @korouiromcha8211
    @korouiromcha8211 Před 3 lety

    These are the only videos without ads.

  • @BlackSkyUploadTube
    @BlackSkyUploadTube Před 3 lety +1

    Truely and the only Cross-platform developing language!
    I use it when I make the dashboard for a project without I have learned UWP, and etc.

  • @danghaile5528
    @danghaile5528 Před 3 lety +1

    Always exciting with Flutter!

  • @onetdev
    @onetdev Před 3 lety +1

    Wowzy, this tutorial outperformed my expectations.

  • @cricgamerz2181
    @cricgamerz2181 Před 3 lety +3

    A GOOD FLUTTER CHANNAEL

  • @thomasmabika7291
    @thomasmabika7291 Před 3 lety +5

    do state restoration next please..

  • @glowiever
    @glowiever Před 2 lety

    the procedural generation is mind blowing!

  • @nvrluki7608
    @nvrluki7608 Před 3 lety +1

    Awesome, just what I needed

  • @Kiriyaki65548
    @Kiriyaki65548 Před rokem

    Good job Justin! Nice.

  • @ROWROLLIN
    @ROWROLLIN Před 3 lety +1

    Great idea and tips! I'm learning a lot with this video and others. Thank you! 😊
    By the way, as a Korean developer who love and use flutter I really thank to the flutter channel for the Korean subtitle!
    I love him/her who added that on this video. I clearly can understand what you are talking about! 😂 Hooray~!
    Also I've never heard of Flame! developing game with flutter? wow~ that's amazing! yay~!

  • @M37Shadow
    @M37Shadow Před 3 lety +4

    Good!

  • @ombhd1131
    @ombhd1131 Před 3 lety

    this is going to be bigger and nicer

  • @mhadaily
    @mhadaily Před 3 lety +1

    Nice tips, thanks

  • @LUKAS3675
    @LUKAS3675 Před 3 lety +1

    using vim as ide is a nice tough

  • @baraaaljabban9058
    @baraaaljabban9058 Před 3 lety +1

    great topic, thanks

  • @Tonkuz
    @Tonkuz Před 2 lety +1

    Super useful ! thanks

  • @JigneshWorld
    @JigneshWorld Před 3 lety +1

    Great content, thanks 👍🏻

  • @pianoman16
    @pianoman16 Před rokem

    I don't get the zooming thing at the end. Why doesn't Flutter just tell you what cells are visible when they zoom just as it does when they pan?

  • @heshansandeepa9471
    @heshansandeepa9471 Před 2 lety +1

    Awesome

  • @tonytins
    @tonytins Před 3 lety +1

    13:08 Part UI Framework. Part 2D game engine.

  • @DominikRoszkowski
    @DominikRoszkowski Před 3 lety +3

    Is there any chance to get the demo source code?

  • @JohnDoe-jc4xp
    @JohnDoe-jc4xp Před 3 lety +2

    so how do we prevent pop in?

    • @justinmccandless
      @justinmccandless Před 3 lety

      I think there's a tradeoff depending on how your app will be used. You could trade a bigger memory footprint for less pop in by loading more items in advance, for example. I probably would have gone into more depth about that in the talk, but I really wanted to include the procedural generation demo :)

    • @rvb6516
      @rvb6516 Před 2 lety

      @@justinmccandless hi how can we load more items in advance ?

  • @yohanweerasinghe5182
    @yohanweerasinghe5182 Před 3 lety

    What is the Debug tool you are using? I think you are in Visual Studio code, but what's the debug tool to monitor the MB size and all?

  • @timothychng7747
    @timothychng7747 Před 3 lety +6

    Please make a tutorial on how to use Vim with Flutter. Do you get auto complete or in-line docs using vim?

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 Před 3 lety

      you can use vscode vim plugin on vscode

    • @justinmccandless
      @justinmccandless Před 3 lety

      Here's my config, should be mostly up to date. I really should clean it up and make a tutorial, thanks for the idea. github.com/justinmc/dotfiles/blob/master/init.vim

  • @Wilhelm_LAS
    @Wilhelm_LAS Před rokem

    There should be a way to block popping problem. Like instagram, it doesnt lags when i scroll down.

  • @azackmatoff2570
    @azackmatoff2570 Před 3 lety

    Haven't watched the video yet, but this is exactly what I need now.

  • @AkashSingh-cr7ly
    @AkashSingh-cr7ly Před 3 lety +1

    the procedural generation is part is awesome(zoom in and out) where can i find the code of this part??

    • @justinmccandless
      @justinmccandless Před 3 lety +2

      Here you go. I had planned to show the code in the talk but I couldn't fit into 15 minutes. github.com/justinmc/flutter-lazy-performance

    • @AkashSingh-cr7ly
      @AkashSingh-cr7ly Před 3 lety +1

      @@justinmccandless thanks for the reply and share the code :)

  • @delmontee
    @delmontee Před 2 lety +1

    Great video - question...what's the reason for the existence of "singleChildScrollView", when "ListView.builder" always handles it better? Is there any time when singeChildScrollView would be a better option?

    • @audisatriaharyanto4609
      @audisatriaharyanto4609 Před 2 lety

      I think it is exist if we want to do a simple scroll of a fixed set of menu, widget, etc. Not a (presumably) large set of data.

    • @soulwriter9655
      @soulwriter9655 Před rokem +1

      Just Imagine you have a simple screen with few text widgets and you want to be sure that it is readable on devices with small displays. That's when I use single child scroll view. Very fast to write, and you don"t need to worry about its performance because the small text widgets are very light.
      A good example would be FAQ screen in settings and such.

  • @32zim32
    @32zim32 Před 3 lety +1

    I can not understand how it is possible that we can run games with a lot animations, sounds, networking and other stuff, but we can not scroll 100 items without frame drops

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 Před 3 lety

      because of JVM. it limits our app memory usage, the bigger the memory it consumes the laggier it becomes. so we need to implement lazy performance like the video demonstrated

  • @konfinoyair
    @konfinoyair Před 2 lety

    5:19 Justin Time

  • @JAICHANGPARK
    @JAICHANGPARK Před 3 lety

    awesome

  • @the_fluffychan
    @the_fluffychan Před 2 lety

    any extension and tutorial for vim with flutter?

    • @flutterdev
      @flutterdev  Před 2 lety

      Hi there!
      We think you might find the following resources helpful:
      Full vim config here :
      goo.gle/3OZWtOT
      Dart-vim-plugin and coc-flutter:
      goo.gle/3zyYH1V
      goo.gle/3d6LhT2.
      Hope this helps 😎

  • @maksimryabovol4592
    @maksimryabovol4592 Před 3 lety

    But InteractiveViewer don't have a builder constructor :(

    • @justinmccandless
      @justinmccandless Před 3 lety +1

      Not in stable yet, but here it is in the master docs: master-api.flutter.dev/flutter/widgets/InteractiveViewer/InteractiveViewer.builder.html

  • @0x0blu
    @0x0blu Před 3 lety +4

    Imagine non-developers reading the title of the video 😂

  • @viditkhanna3721
    @viditkhanna3721 Před 3 lety

    The scrolling problem with Flutter web is really serious.

  • @viditkhanna3721
    @viditkhanna3721 Před 3 lety +1

    We need a widget like recycler builder from native Android.

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 Před 3 lety +1

      using SliverList/ListView or SliverGrid/GridView on Flutter is equivalent of using RecylerView/RecyclerBuilder on Android. They give us those recycling feature a.k.a. caching the only needed items.

    • @viditkhanna3721
      @viditkhanna3721 Před 3 lety

      @ulbsu albrykya but, if I am not wrong, the recycler builder also recycles and reuses the already made widgets while scrolling, which improves the performance.
      Does listview do that?

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 Před 3 lety

      @@viditkhanna3721 from my experience, yes it does. I set automaticKeepAlives to false though, so it doesn't keep unnecessary items on screen. you can read it more on flutter's doc about ListView

  • @DigitalDesignET
    @DigitalDesignET Před 3 lety

    Why do I feel like flatter is made just for me?

  • @viniciusbarros9361
    @viniciusbarros9361 Před 3 lety

    I would like a paid internship opportunity for a startup in the US. if you can point me to any opportunities. i'm from brazil and i'm studying flutter for a while and i have experience in other languages. I'm perfecting my English too. if you can help me. thanks

  • @edutech_ke
    @edutech_ke Před 3 lety

    Improve dart at the same rate so that we can abandon python for intelligence services . Flutter forever

  • @user-tx4rq5sy1t
    @user-tx4rq5sy1t Před 3 lety

    ScrollView vs. RecyclerView