Lazy Flutter performance | Session

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 พ.ค. 2021
  • 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-Flutter
    All Google I/O 2021 Technical Sessions → goo.gle/io21-technicalsessions
    All Google I/O 2021 Sessions → goo.gle/io21-allsessions
    Subscribe to Flutter! → goo.gle/FlutterYT
    #GoogleIO #Flutter
    product: Flutter - Troubleshooting and Performance; event: Google I/O 2021; fullname: Justin McCandless; re_ty: Premiere;
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 78

  • @DebabrataAcharya93
    @DebabrataAcharya93 3 ปีที่แล้ว +20

    My man using vim with Flutter. Absolute madlad.

    • @kmp3e
      @kmp3e ปีที่แล้ว

      It’s the only way I use it

  • @LucaFang
    @LucaFang 3 ปีที่แล้ว +10

    The procedural generation example is insane! Nice Work!

  • @MitchellWongHo
    @MitchellWongHo 3 ปีที่แล้ว +7

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

  • @BooleanDev
    @BooleanDev 3 ปีที่แล้ว +3

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

  • @danghaile5528
    @danghaile5528 3 ปีที่แล้ว +1

    Always exciting with Flutter!

  • @onetdev
    @onetdev 3 ปีที่แล้ว +1

    Wowzy, this tutorial outperformed my expectations.

  • @BlackSkyUploadTube
    @BlackSkyUploadTube 3 ปีที่แล้ว +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.

  • @SethuSenthil
    @SethuSenthil 3 ปีที่แล้ว +23

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

    • @justinmccandless
      @justinmccandless 3 ปีที่แล้ว +1

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

    • @doombois8170
      @doombois8170 3 ปีที่แล้ว

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

    • @EdmanPAnjos
      @EdmanPAnjos 3 ปีที่แล้ว +2

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

  • @nvrluki7608
    @nvrluki7608 3 ปีที่แล้ว +1

    Awesome, just what I needed

  • @muhammedsibil8116
    @muhammedsibil8116 3 ปีที่แล้ว +62

    flutter is growing faster than speed of photons

    • @wdestroier
      @wdestroier 3 ปีที่แล้ว +3

      Isn't the speed of photons constant?

    • @muhammedsibil8116
      @muhammedsibil8116 3 ปีที่แล้ว

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

  • @korouiromcha8211
    @korouiromcha8211 3 ปีที่แล้ว

    These are the only videos without ads.

  • @Kiriyaki65548
    @Kiriyaki65548 ปีที่แล้ว

    Good job Justin! Nice.

  • @JigneshWorld
    @JigneshWorld 3 ปีที่แล้ว +1

    Great content, thanks 👍🏻

  • @mhadaily
    @mhadaily 3 ปีที่แล้ว +1

    Nice tips, thanks

  • @KhalidWar
    @KhalidWar 2 ปีที่แล้ว +1

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

    • @flutterdev
      @flutterdev  2 ปีที่แล้ว +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  ปีที่แล้ว

      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 🎨

  • @Tonkuz
    @Tonkuz 2 ปีที่แล้ว +1

    Super useful ! thanks

  • @baraaaljabban9058
    @baraaaljabban9058 3 ปีที่แล้ว +1

    great topic, thanks

  • @ROWROLLIN
    @ROWROLLIN 2 ปีที่แล้ว +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~!

  • @cricgamerz2181
    @cricgamerz2181 3 ปีที่แล้ว +3

    A GOOD FLUTTER CHANNAEL

  • @M37Shadow
    @M37Shadow 3 ปีที่แล้ว +4

    Good!

  • @LUKAS3675
    @LUKAS3675 3 ปีที่แล้ว +1

    using vim as ide is a nice tough

  • @ombhd1131
    @ombhd1131 3 ปีที่แล้ว

    this is going to be bigger and nicer

  • @glowiever
    @glowiever 2 ปีที่แล้ว

    the procedural generation is mind blowing!

  • @thomasmabika7291
    @thomasmabika7291 3 ปีที่แล้ว +5

    do state restoration next please..

  • @azackmatoff2570
    @azackmatoff2570 3 ปีที่แล้ว

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

  • @heshansandeepa9471
    @heshansandeepa9471 ปีที่แล้ว +1

    Awesome

  • @JAICHANGPARK
    @JAICHANGPARK 3 ปีที่แล้ว

    awesome

  • @yohanweerasinghe5182
    @yohanweerasinghe5182 3 ปีที่แล้ว

    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?

  • @Wilhelm_LAS
    @Wilhelm_LAS ปีที่แล้ว

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

  • @pianoman16
    @pianoman16 ปีที่แล้ว

    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?

  • @tonytins
    @tonytins 3 ปีที่แล้ว +1

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

  • @delmontee
    @delmontee 2 ปีที่แล้ว +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 2 ปีที่แล้ว

      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 ปีที่แล้ว +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.

  • @AkashSingh-cr7ly
    @AkashSingh-cr7ly 3 ปีที่แล้ว +1

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

    • @justinmccandless
      @justinmccandless 3 ปีที่แล้ว +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 3 ปีที่แล้ว +1

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

  • @DominikRoszkowski
    @DominikRoszkowski 3 ปีที่แล้ว +3

    Is there any chance to get the demo source code?

  • @timothychng7747
    @timothychng7747 3 ปีที่แล้ว +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 3 ปีที่แล้ว

      you can use vscode vim plugin on vscode

    • @justinmccandless
      @justinmccandless 3 ปีที่แล้ว

      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

  • @konfinoyair
    @konfinoyair 2 ปีที่แล้ว

    5:19 Justin Time

  • @viditkhanna3721
    @viditkhanna3721 3 ปีที่แล้ว

    The scrolling problem with Flutter web is really serious.

  • @the_fluffychan
    @the_fluffychan ปีที่แล้ว

    any extension and tutorial for vim with flutter?

    • @flutterdev
      @flutterdev  ปีที่แล้ว

      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 😎

  • @32zim32
    @32zim32 3 ปีที่แล้ว +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 3 ปีที่แล้ว

      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

  • @shulelite_ke
    @shulelite_ke 3 ปีที่แล้ว

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

  • @viniciusbarros9361
    @viniciusbarros9361 3 ปีที่แล้ว

    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

  • @JohnDoe-jc4xp
    @JohnDoe-jc4xp 3 ปีที่แล้ว +2

    so how do we prevent pop in?

    • @justinmccandless
      @justinmccandless 3 ปีที่แล้ว

      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 2 ปีที่แล้ว

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

  • @maksimryabovol4592
    @maksimryabovol4592 3 ปีที่แล้ว

    But InteractiveViewer don't have a builder constructor :(

    • @justinmccandless
      @justinmccandless 3 ปีที่แล้ว +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 3 ปีที่แล้ว +4

    Imagine non-developers reading the title of the video 😂

  • @viditkhanna3721
    @viditkhanna3721 3 ปีที่แล้ว +1

    We need a widget like recycler builder from native Android.

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 3 ปีที่แล้ว +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 3 ปีที่แล้ว

      @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 3 ปีที่แล้ว

      @@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

  • @user-tx4rq5sy1t
    @user-tx4rq5sy1t 3 ปีที่แล้ว

    ScrollView vs. RecyclerView

  • @DigitalDesignET
    @DigitalDesignET 3 ปีที่แล้ว

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