Dart Futures - Flutter in Focus

Поделиться
HTML-код
  • Опубликовано: 20 июн 2019
  • This is the second video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, learn everything about Future objects, Dart’s most basic API for async, including how to handle data, catch errors, and put futures to work building Flutter widgets with FutureBuilder.
    For more deep dives on things like Stateless and Stateful widgets, Flutter on iOS, and other advanced topics, check out the other episodes of Flutter in Focus.
    Asynchronous programming: futures & async-await → goo.gle/2XJLPSd
    Isolate Class → goo.gle/2F8Mg1g
    Flutter in Focus Playlist → goo.gle/FlutterInFocus
    Get started with Flutter → flutter.dev
    Try a Flutter codelab → goo.gl/d3fHPo
    Join the conversation → goo.gl/68oUnb
    Subscribe to the Flutter channel → goo.gle/FlutterYT
    #dart #darttopic

Комментарии • 128

  • @amirgamil
    @amirgamil 5 лет назад +65

    The quality of these videos is astounding. Please keep 'em coming!

  • @StingSting844
    @StingSting844 5 лет назад +145

    Gift boxes dont contain errors bro! That would be a sad day

    • @sauloAndrioli
      @sauloAndrioli 5 лет назад +27

      If your gift box comes with a pair of socks, it's definitely an error

    • @johnjamesflashman6856
      @johnjamesflashman6856 5 лет назад +5

      It could have arrived by Australian Post and most likely broken.

    • @ChumX100
      @ChumX100 4 года назад +7

      It's like receiving a ticking box. You don't know if it's a cool new clock or a bomb.

    • @sodiboo
      @sodiboo 4 года назад

      nice

    • @Ahsankhan_yt
      @Ahsankhan_yt 3 года назад

      Maybe gift box contained Galaxy Note 7

  • @acavals8080
    @acavals8080 2 года назад +8

    Dude, you just won the Nobel prize for Simplicity! I struggled to understand how Future works when I started to use Firebase; now, it is all clear. I'm in love with Dart & Flutter.

  • @mgorn
    @mgorn 5 лет назад +49

    This portrayal of the Future as a superposition of result and error was approved by Schrödinger and his cat.

    • @amirgamil
      @amirgamil 5 лет назад +11

      And wasn't.

    • @zewafff
      @zewafff 3 года назад

      this comment is way underrated i guess Schrodinger isnt that well known :/

    • @mr.p215
      @mr.p215 3 года назад

      @@zewafff it also isn't underrated

  • @palakpatel433
    @palakpatel433 3 года назад +1

    Loved this video, thank you for explaining things in such a straightforward way.

  • @mesharibuhadi1437
    @mesharibuhadi1437 2 года назад +1

    Man you articulated that really well, Thank you so much for a great video!

  • @pranavbhagwat1734
    @pranavbhagwat1734 2 года назад +2

    Great video, simply put but with sufficient detail for beginner devs!

  • @mahmood466
    @mahmood466 2 года назад +2

    What a great team behind the flutter, love it ❤

  • @sayyidj6406
    @sayyidj6406 2 года назад +1

    i was learning flutter 1 years ago, and i falling in love with this framework, make an simple app for school, and now i am make some games with flutter too. i create bunch of png sequence from after effect, glue it into single image and paint it with drawRrect, this future delayed come in handy when display spesific size frame from image, i test it with flutter inspector in real device, some times get 60 fps sometimes not even with bloc state management plugin. struggle with performance problem, still try to learn :)

  • @MrAmG17
    @MrAmG17 5 лет назад

    Love these series !

  • @bikkikumarsha
    @bikkikumarsha 4 года назад +2

    Clean and crisp slides and diagram.

  • @starvingdeveloper2987
    @starvingdeveloper2987 4 года назад

    Thank you! Very helpful and informative!

  • @sepddy
    @sepddy Год назад

    I learned Future so good , thanks

  • @abou3542
    @abou3542 5 лет назад

    Thanks for the explanation ! Great job !!!!

  • @adamtak3128
    @adamtak3128 5 лет назад +127

    Any chance we can get a comprehensive flutter team created course with multiple little app builds to learn the concepts and finally a large app putting everything together?

    • @jorgevega806
      @jorgevega806 5 лет назад +1

      This could be awesome

    • @StingSting844
      @StingSting844 5 лет назад +8

      Yes. Its available in appbrewery.co at just 10 bucks

    • @leondroidgeeks
      @leondroidgeeks 5 лет назад +3

      There are already a lot of Cookbooks, Codelabs, Tutorials and Samples on the flutter.dev page. Have a look

    • @tanmaythakral257
      @tanmaythakral257 5 лет назад +2

      You can check out course by Angela yu on Udemy. It's exactly how you want .

    • @PankajNikam
      @PankajNikam 5 лет назад +2

      Agree with all who mentioned app brewery. Angela is an excellent instructor. I am more than 70% done with the course and boy, it's awesome 👍

  • @jagdishshetty4782
    @jagdishshetty4782 3 года назад

    Awesome explanation !!!

  • @RaymondAtivie
    @RaymondAtivie 5 лет назад

    Great explanation thank you

  • @jaigohil4963
    @jaigohil4963 5 лет назад +2

    Best way to think about async future api!!!

  • @rishidiwute3604
    @rishidiwute3604 11 месяцев назад

    Loved it !

  • @sanghvian
    @sanghvian 2 года назад

    Brilliant video !

  • @a6Brgeuka
    @a6Brgeuka 5 лет назад

    Great! Thank you!

  • @classic0ful
    @classic0ful 2 года назад

    so clear!!!

  • @juliencasta1968
    @juliencasta1968 2 года назад

    merci pour le tuto très bonne information cool :)

  • @ehsanhasin8092
    @ehsanhasin8092 Год назад

    great, thank you

  • @idiot7leon
    @idiot7leon 3 года назад +2

    This is quite similar with promises in ES6, JavaScript.
    And the async/await is quite similar with async/await in ES7, JavaScript.

  • @meetamin7343
    @meetamin7343 2 года назад

    Thanks🙏

  • @user-sx4nd8pn2v
    @user-sx4nd8pn2v 5 лет назад +3

    Flutter is Future !

  • @neilshih
    @neilshih Год назад +1

    Thank you ^^

    • @flutterdev
      @flutterdev  Год назад

      Thanks for watching, Neil! If you enjoyed this, be sure to check out the "Flutter in Focus Playlist" here:
      goo.gle/FlutterInFocus
      Happy Fluttering 🙌

  • @RajileshPanoli
    @RajileshPanoli 5 лет назад

    Your videos are great! But please improve documentations by adding imporant notes so that we can easily find out why that error happens. Now only way to find out the error/ good practice is to checkout the core code using the code editor features.
    For example TextFormField does not accept any other type values other than strings. I had spent lot of time to figure out that even though it is a small fix.

  • @asoyoyukii3902
    @asoyoyukii3902 4 года назад +3

    2:45 my face when he said gifts contain errors ...but it's a gift thou...

  • @cagrigoktas
    @cagrigoktas 5 лет назад

    Perfect 👍

  • @sumitrasaksham7715
    @sumitrasaksham7715 4 года назад

    Can ( provider + future ) + widget be used in the same way as set state , with the only difference of rendering that widget instead of whole screen?

  • @Sam-ch4jh
    @Sam-ch4jh 4 года назад

    Thank you
    I read a Json file from storage, converted to map and then update into global configuration
    For me the widget gets updated with old map data while there is a delay in reading file content
    If I put the reading global configuration inside future.then( ), it does not work and gives some exception
    I don't want to use bloc pattern for small data
    Any clue?
    Also shared preferences does not seem to work

  • @deepak_mishra
    @deepak_mishra 5 лет назад +1

    I don't see a cancel/dispose method in the API docs. What happens if user has moved on to some other task and we don't need the future data we requested? Related to this - if widgets don't cancel long-running futures, and move on to new screens, are we leaking memory? I am from an Android background, and essentially trying to understand if future callbacks hold weak references to the widgets.

  • @ymi_yugy3133
    @ymi_yugy3133 4 года назад

    What would be the most idiomatic way to synchronize Futures. For example I may have to wait on multiple Futures until I can start processing the data.

  • @n00bstude
    @n00bstude 5 лет назад

    well done.

  • @rahem027
    @rahem027 4 года назад

    Is there a better way to nest FutureBuilders? I need 3 different resources for 3 different widgets on the same screen? Something equivalent of MultiProviders would be really great

  • @heshansandeepa9471
    @heshansandeepa9471 2 года назад +1

    very nice

  • @satishkumar-qq8df
    @satishkumar-qq8df 5 лет назад

    I love flutter

  • @Soultoo
    @Soultoo 4 года назад

    Is the syntax for the second argument for the delayed method wrong? I can't find it anywhere 5:00

  • @turskyi
    @turskyi 2 года назад +1

    It would be nice of you to show how to handle multiple futures without waiting one another

  • @happyday.mjohnson
    @happyday.mjohnson 5 лет назад

    Easy to follow explanation. Why wasn't async/await included? I am unclear after watching this video when/whether to use then vs. await....?

    • @andrewbrogdon558
      @andrewbrogdon558 5 лет назад

      Async/await are covered in the fourth video in this series. It's currently in post-production, but should be released in a week or two!

  • @muhammadkashif7209
    @muhammadkashif7209 4 года назад

    i love it

  • @anthropicandroid4494
    @anthropicandroid4494 11 месяцев назад

    Good explanation but I wonder about that method supplying a Future to the FutureBuilder; won't that Future be created on every call to build()? The docs recommend creating that future around initState instead

  • @TukuStore
    @TukuStore 5 месяцев назад

    Oke thank you

  • @dicasgames4927
    @dicasgames4927 2 года назад

    Ótima explicação, só que diferente disso eu uso o Connection.state que faz os devidos retornos de acordo com o a resposta.

  • @billy-ps7jz
    @billy-ps7jz 5 лет назад

    hardest part to understand and grasp

  • @VladimirMinkin
    @VladimirMinkin 5 лет назад

    The Event Loop described badly, please clarify how it works. If it works like V8 then please add stack call, queue, and tell about external threads for API.

  • @harry356
    @harry356 2 года назад

    If I read something from disk, is that handled by a different thread?

  • @LethiuxX
    @LethiuxX 4 года назад +4

    Lol. This series is a safe space.

  • @sithumdilanga650
    @sithumdilanga650 3 года назад

    Gift boxes are awesome

  • @hamza-325
    @hamza-325 3 года назад

    What's the difference between catchError and onError callbacks? both are triggered in case of errors, so why are there two of them?

  • @ranjanpanda2586
    @ranjanpanda2586 3 года назад

    Can anyone tell me what is the datatype of myFuture at 3:27. final means it can't be changed, but what is the datatype of myFuture ??

  • @hiruthicsha
    @hiruthicsha 3 года назад +1

    This channel could potentially make non coders jump in directly as a mobile application devs❤️❤️.
    Uhh sorry cross platform 😁

  • @laelluo2976
    @laelluo2976 5 лет назад +1

    感谢字幕制作人员

  • @pepepriest5973
    @pepepriest5973 5 лет назад

    Is this like android handler? Well, handler begins when the app starts and not delayed the first time if its a loop

  • @CoderSprint
    @CoderSprint 5 лет назад

    Can anybody tell me exactly what coding color theme that was?????????????????????????????????????????

  • @aslamtarakwadiya5012
    @aslamtarakwadiya5012 Год назад

    Hello, I'm beginner in Flutter.
    I want call multiple APIs in single screen with Future Builder, So how can I do this.

  • @unity3dTutorials1
    @unity3dTutorials1 5 лет назад

    Can you make some tutorials which handle Share Extension in iOS? Currently, I want to share some files with my application via Share Extension, but I do not know how to pass data from Share Extension to my app.

    • @andrewbrogdon558
      @andrewbrogdon558 5 лет назад

      Looks like some folks are working on it: github.com/flutter/flutter/issues/16712

  • @hsin9659
    @hsin9659 5 лет назад

    nice

  • @sodiboo
    @sodiboo 4 года назад

    is there a dart equivalent to the javascript "resolve" and "reject" methods passed to a promise handler?
    function getUserInput() {
    return new Promise(resolve => {
    setInputEventHandler(data => {
    resolve(data);
    });
    });
    }
    Because futures in dart seem to just be based on synchronous code that returns a value... but that doesn't really make sense?

    • @sodiboo
      @sodiboo 3 года назад

      I’ve figured it out! A Completer from the dart:async is *exactly* what i want, imo the usage isn’t the most intuitive at first, BUT IT’S THE EXACT THING I WANT! api.dart.dev/stable/1.21.1/dart-async/Completer-class.html

  • @suranjithnishalaka7395
    @suranjithnishalaka7395 Год назад

    🎉

  • @shahidwani6445
    @shahidwani6445 4 года назад

    Does Future create new thread

  • @BetoMan996
    @BetoMan996 5 лет назад +7

    The async/await feature has been copied from C# and it's so powerful!

    • @jajasaria
      @jajasaria 5 лет назад +1

      I thought it's from JS. Thanks for the info.

    • @andrewbrogdon558
      @andrewbrogdon558 5 лет назад +2

      Yep. The concepts behind async/await have been around for a long time, but C# is generally credited with introducing those particular keywords and the way they work. I was a professional C# coder at the time, so I've been able to write with them for a while!

  • @prafulgupta7004
    @prafulgupta7004 5 лет назад +2

    Make a video on HOW TO MANAGE STATE???

    • @vasiapatov4544
      @vasiapatov4544 4 года назад

      ruclips.net/video/d_m5csmrf7I/видео.html

  • @ouya6967
    @ouya6967 4 года назад +2

    I think catchError and whenComplete are strange. just catch and finally are simple!

    • @saadzahem
      @saadzahem 3 года назад +1

      but catch and finally are keywords !

  • @whoeverofhowevermany
    @whoeverofhowevermany Год назад +1

    2:41 I know what you said, but ouch 😂

  • @XiaosChannel
    @XiaosChannel 4 года назад +1

    After watching this video, I learned that there's an alternative way to pronounce json.

  • @SivaKumarNitesh
    @SivaKumarNitesh 2 года назад

    How's the future status named "uncompleted"?

  • @faisalmushtaq2287
    @faisalmushtaq2287 3 года назад

    I am getting "Flutter intent redirection " issue as i upload the app on playstore, and they have given me until 21st December 2020 to clear this issue. if not they'll remove my app
    Please help me

  • @GCoda
    @GCoda 5 лет назад

    And scopes and closures work like in javascript?
    String url = '';
    http.get(url).then((resp) {print(resp); print(url)} )

    • @andrewbrogdon558
      @andrewbrogdon558 5 лет назад

      I'm not a JS expert by any means, but you can definitely close over a variable like that when creating a callback for a Future in Dart.

  • @rongsenng
    @rongsenng 5 лет назад +2

    But seriously though, why we don't have Promise.delayed in JavaScript.

    • @venil82
      @venil82 4 года назад

      Because you can implement it yourself wit setTimeout

  • @AnuragSinha7
    @AnuragSinha7 5 лет назад

    Google announced big plans for Dart and was about to replace JS with it but couldn't do it. They dumped it in midway despite being superior than JS. Why they are sticking with Dart now!?

  • @patricksteffanic5491
    @patricksteffanic5491 2 года назад

    What is the name of the host? I want to follow him on Twitter!

  • @CrnaInBela
    @CrnaInBela 4 года назад

    Am I the only one who thought the gift example was funny AF?

  • @gilbertoduran680
    @gilbertoduran680 5 лет назад

    Where is Emily Fortuna??? :(

    • @andrewbrogdon558
      @andrewbrogdon558 5 лет назад +2

      She runs our whole channel now, so her influence is everywhere. :)

  • @juliencasta1968
    @juliencasta1968 2 года назад

    bel homme

  • @simohimo6963
    @simohimo6963 2 года назад

    Future: schrodingers giftbox

  •  4 года назад

    this thing kinda sucks lol. i'm trying to filter a stream from firestore by userID (i have objects that saved wich user created them)
    been trying for hours, still nothing
    my latest attempt
    child: StreamBuilder( stream: Firestore.instance.collection('properties').where('uid', isEqualTo: getUserId()).snapshots(), ......
    getUserId() async {
    String userId;
    await _authService.getUserId().then((value) => userId = value);
    return userId;
    }
    does not work

  • @versatilecontent4244
    @versatilecontent4244 5 лет назад

    I dropped mobile development...
    I think PWA will terminate mobile development.... it gives you notifications, hardware controller and operates offline... you build it once and it will work all over ...
    if you don't think so , please tell us why?

    • @AnuragSinha7
      @AnuragSinha7 5 лет назад

      PWA can't really replace native apps. Native apps give you a superior experience while PWA is getting better and better but it can't replace native apps. Also all of the apps can't be PWA. However I would love it if native apps can be made irrelevant, windows would be back as mobile OS but this time as WCOS.

    • @Alejandro-gg7oz
      @Alejandro-gg7oz 5 лет назад

      what is PWA? its like build apps using html and css? cuz i hate css also css and flexbox is harder than flutter web

  • @maxreuv
    @maxreuv 5 лет назад

    How to cancel (interrupt, etc) an uncompleted future?

  • @MrVitalirapalis
    @MrVitalirapalis 4 года назад

    future dart is a promise in js world

  • @JeVaughnFerguson
    @JeVaughnFerguson 5 лет назад

    Release videos faster!;

  • @WorstDeveloper
    @WorstDeveloper 4 года назад

    Why not just name them: then, catch, finally?

  • @thaddeusokafor2953
    @thaddeusokafor2953 5 лет назад

    0 likes? Am I on RUclips?

  • @Limbustwo
    @Limbustwo 3 года назад

    I think Future API lacks readability.