Adding Animations to Your App (The Boring Flutter Development Show, Ep. 5)

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • In this episode, Filip is joined by Emily, a Developer Advocate on the Flutter team (and previously a compiler engineer on the Dart team). Together they extend the BLoC pattern to add loading animations to the Hacker News reader app - they showcase the progress indicator animations that Flutter provides out-of-the-box, as well as building custom animations from the ground up.
    Please give us your feedback in the comments, and let us know what you would like us to build next! You can reach out in the comments below or on Twitter using #BoringShow.
    Watch more episodes of the boring show here → bit.ly/BoringShow
    Get started with Flutter → flutter.io
    Try a Flutter codelab → goo.gl/d3fHPo
    Join the conversation → goo.gl/68oUnb
    Subscribe to the Google Developers channel → goo.gl/mQyv5L

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

  • @semicognitive
    @semicognitive 6 лет назад +53

    I'm not sure if it fits this show, but could you guys possibly bring a design expert at Google on for an episode to really make this app look nice? Just going in depth into theming and styling and best practices

  • @sebastianpagni
    @sebastianpagni 6 лет назад +25

    Love the live coding without editing the mistakes!
    It'll be awesome if you can build an app that streams music, including all the controls like play, pause, skip x amount of seconds, etc.
    Keep it up! I learn a lot from the show

  • @stephenjames2951
    @stephenjames2951 6 лет назад +9

    Emily is definitely a positive addition. Great to see different devotee perspectives.

  • @Mike-rt2vp
    @Mike-rt2vp 6 лет назад +29

    The more stickers, the better the dev right

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

      Mike 5000 to hide apple logo

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

    On min 10:20 they used BehaviorSubject with seedValue. Now you should use this: final _isLoadingSubject = BehaviorSubject.seeded(false);

  • @utkarshkulshrestha8326
    @utkarshkulshrestha8326 6 лет назад +5

    i love this show, Circular progress indicator part was hilarious XD

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

    Have to say the format of this show is excellent. It really reflects real life programming and the decision making and errors that are made on a daily basis

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

    here we do not just learn to do flutter stuff, it also gives a good idea of how our mindset should work to solve a problem

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

    Please continue this show. Don't stop! ❤️

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

    Filip and Emily, incredible episode! thank you so much to share your knowledge to us. I love the format of one hour long, and its way better for learning with no doubt

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

    so fun to watch. and so relatable just like how we normally work... unlike all those tutorial just drone on and on...

  • @tomrakey
    @tomrakey 6 лет назад +3

    Another great episode, I really enjoy the #BoringShow and what you guys are trying to do. I may not understand some of it purely because I have never written dart. But the show definitely inspires me to try learn dart as well as encourages me to try out flutter.
    So thank you guys!
    Some suggestions of apps for the next few episodes could maybe be something that is like an that a user can use that tracks (stores information) something, for instance say I have a collection of books, users can have a profile with a collection and categories. Don't know if that makes sense. Very keen for the next episode!

  • @TechnologyChannel
    @TechnologyChannel 6 лет назад +3

    Thank you so much for providing such a great tutorial..

  • @akhilsankar4284
    @akhilsankar4284 6 лет назад +14

    emily fan

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

    The real question: where can I get a Flutter or Dart sticker for my computer?

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

    This format is awensome

  • @BraulioCassule
    @BraulioCassule 6 лет назад +2

    Hey Filip and Emily, very cool what you're doing. Matt Carroll's Flutter tutorials are a success. Would you consider bringing him to the Boring Show?

  • @semicognitive
    @semicognitive 6 лет назад +2

    Was waiting for this

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

    My eyes thank you from 3am, Emily

  • @MrLarryQ
    @MrLarryQ 6 лет назад +1

    Nice series, thank you Filip & co. Is there a repository in github or elsewhere that I can clone from?

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

    Love them, funny :)

  • @Mohith7548
    @Mohith7548 6 лет назад

    Good to see you #Emiliy!!

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

    Maybe you should change the bottom app bar to go to a new page, instead of getting a new stream, so you can show how to use pages.

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

    Why isnt she using the intellisense :(

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

    Can you show how to create an app which show pop up over other app to remind us to take break so that how eyes not go blind

  • @naderelarnaouty521
    @naderelarnaouty521 6 лет назад +3

    Hey guys you created a course in Udacity for Flutter , so can I after watching the full course build Complex Apps like instagram and Facebook

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

    Maybe this is stupid... But couldn't you return a Future of a List of Articles and get the Future state, as done, loading etc... And use it for the progress indicator?

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

    Is there a way to add onPressed or onTap to the AnimatedContainer? If not, then what is the best way to do it? Thanks

  • @akhanda-
    @akhanda- 6 лет назад

    Nice waiting for webrtc in the next video

  • @november9109
    @november9109 6 лет назад +1

    I got the Android pie update Im so glad I have a pixel 😀😀

  • @222skinnyman
    @222skinnyman 6 лет назад

    What is the benefit of making your isLoading bool a stream as opposed to making it a variable in the state of the widget and just setting the state and changing the bool when you load the data and finish loading the data?

    • @filiphracek
      @filiphracek 6 лет назад +2

      I think it gives better encapsulation. The actual loading happens inside the bloc, and is only _consumed_ by the UI, so, for me, it makes sense to keep it there. It keeps that logic together.
      Having it as a Stream on the Bloc also means that other parts of your app can subscribe to it as well (for instance, they can prevent the user from doing something while things are loading).

  • @gewoonwoutje
    @gewoonwoutje 6 лет назад

    I think you have to override the dispose method to cleanup the animation controller.

    • @gewoonwoutje
      @gewoonwoutje 6 лет назад

      It's good practice to make it a habbit to immediately add the dispose method when you add something that needs tidying up.

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

    how to change item position in listview using drag animation, after you click on item in list?

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

    idk abut you guys but those tabs !!!!

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

    from where you bought that stickers on your laptop back...
    please provide link of that....please please....
    i also want that

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

    Really need some dart flutter stickers for my laptop

  • @locationserviceslocationse7253
    @locationserviceslocationse7253 6 лет назад

    What is the difference between
    import 'package:boring_show_example/src/serializers.dart';
    and
    import 'serializers.dart';
    ???
    Because I had a nasty problem where my json wouldn't parse, and it was because of this import!
    It was throwing "type '_$Article' is not a subtype of type 'Article' in type cast" no matter what...
    I was following what you were doing, and had the same folder structure. Everything was the same except for this import.
    Couldn't figure out what was wrong until I found your code in github and started comparing it line by line with mine.

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

    How can we change that white splash screen from Flutter?

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

    why you use vscode instead of Android studio

  • @vinceramcesoliveros6739
    @vinceramcesoliveros6739 6 лет назад +3

    #BoringShow How about explaining bloC like i'm five. The same as dev.to
    Example of setState like im five
    "You want to use a pencil, its in the pencil case, inside the pencil case, there's a lot of tools inside, all of them are organized, then you took the pencil inside the pencil case, after that you call setState and all of your tools inside the pencil case will get to re-organized"

    • @vinceramcesoliveros6739
      @vinceramcesoliveros6739 6 лет назад

      Emily Fortuna got it. The level of "abstraction" went down to "encapsulate" these terms.

    • @filiphracek
      @filiphracek 6 лет назад +7

      *UPDATE:* Emily beat me to it and her metaphor is spot on. I went with a more direct metaphor so I'll leave mine up in case it's also helpful.
      ----
      Ok, good challenge. Let me try.
      You (UI) and your friend (Bloc) have a lemonade stand. You're in charge of drawing the notice-board with price and other info, and also with talking to customers. Your friend Bloc takes care of the lemonade, the cups, the purse, and of fetching more lemonade from the house - the business.
      When a customer (user) wants to buy lemonade, you tell Bloc about it (Sink) and wait (async). At some point in the future, Bloc will hand you the cup of lemonade (Stream). At any point, he can also update you on the current state of the lemonade stand: "Hey, we are out of lemonade!", or "I'm going to fetch more lemonade.", or "I'm back." or "Let's make the price $1." It's your responsibility to update parts of the notice-board and change your own behavior accordingly (e.g. don't take orders of lemonade if you're all out of lemonade).
      If you're smart, your notice-board will have easily replaceable parts (StreamBulders), like "current price: __" or "we're in business / will be right back / we're out". Otherwise you'd have to redraw the whole notice-board every time there's any change.

    • @vinceramcesoliveros6739
      @vinceramcesoliveros6739 6 лет назад

      Yeah, at first I tried to read your reply in my notification, but you deleted it while trying to develop my own BLoC. ☹

    • @filiphracek
      @filiphracek 6 лет назад +3

      Sorry, that was actually RUclips flagging my reply as spam, probably because I edited it 2 times after posting and it had weird (from the perspective of YT antispam algo) characters. I did not delete it, it just needed to be approved. :/

  • @formexus1670
    @formexus1670 6 лет назад

    Hi team google! today i saw your remotly controlled car, to make the view for google maps. i saw you car in Dej, Romania

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

    From last 18 hours I am just doing flutttterrrrr

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

    Dark theme for text editor please

  • @shrinathprabhu
    @shrinathprabhu 6 лет назад

    Need a tutorial on websockets and maybe RTC

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

    Make similar series on AngularDart

  • @bdjeosjfjdskskkdjdnfbdj
    @bdjeosjfjdskskkdjdnfbdj 6 лет назад

    Hi gr8 tutorial!! Is the source code for this video available?

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

    where I can buy the flutter t-shirt ??

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

    This video needs more stickers

  • @Odyvers
    @Odyvers 6 лет назад +1

    *सच्चाई और अच्छाई की*
    *तलाश में चाहे पुरी दुनिया*
    *घूम लो*…
    *अगर वह खुद में नहीं*
    *तो कही भी नहीं*

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

    what did you say at 17:46 mam?

  • @skipmonday6467
    @skipmonday6467 6 лет назад

    How to do authentication with api

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

    i can dev a game with Flutter?

  • @ferdousahamed6422
    @ferdousahamed6422 6 лет назад +1

    I can not understand what arr they making??????lol

  • @moneyharry
    @moneyharry 6 лет назад +1

    mumbai bans plastic bags, bottles... 31:28 what am I doing here?

  • @digitart-media
    @digitart-media 6 лет назад

  • @JAICHANGPARK
    @JAICHANGPARK 6 лет назад

    Flutter💕

  • @PawanKumar-xk2mn
    @PawanKumar-xk2mn 6 лет назад

    How do i change color of my status bar icons and texts In White AppBar Of Flutter, i asked this question because while i change my AppBar Color in white then my status bar icons appears hidden why?

    • @filiphracek
      @filiphracek 6 лет назад +2

      You need to tell the system that your app now has a bright background. The easiest way is to have a Theme on your MaterialApp and have something like: ThemeData(brightness: Brightness.light). Let me know if that works, I'm doing this from memory.

    • @PawanKumar-xk2mn
      @PawanKumar-xk2mn 6 лет назад

      Thank you to both for replying Watch At 21:40 How Can I Visible My StatusBar Icons Like Networks,Battery etc... In Android. I found SystemUiOverlayStyle But Its Not Working In android.

  • @karancariappa
    @karancariappa 6 лет назад

    Hi team, can you work on a Broadcast App?

  • @anandpatnaha8745
    @anandpatnaha8745 6 лет назад

    Google You have to launch easy Wi-Fisystem for Worldwide

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

    If this is what Google keeps doing I'm going to forget how to code complex animations and logic and end up never getting a job at Google T_T

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

    dispose the stream controller please

  • @tuobraun
    @tuobraun 6 лет назад

    Why don't you use a dark theme? It is not that painful to watch in the evening :)))

    • @EmilyFortuna
      @EmilyFortuna 6 лет назад +2

      You clearly haven't watched past 12:01... My section uses a dark theme. :-)

    • @tuobraun
      @tuobraun 6 лет назад

      Emily Fortuna yeah, noticed already after I wrote the comment :) sorry for that) I'm a beginner to Flutter so I can't handle the video without breaks. BTW, I love VS Code :)

  • @pradeep422
    @pradeep422 6 лет назад

    This video looks less technical, and lil borin out f all videos. Still Lov ur work!!!!!!!!!

  • @ArkangelB
    @ArkangelB 6 лет назад

    Hello, we are starting to translate the Flutter docs to Spanish, so we are hoping to help all the people that want to learn Flutter but have some problems to understand English so maybe next time u can say hello to all Spanish speakers that are pretty amazed by Flutter and say hello to the team so we can work better and harder. :D
    Thanks for the #BoringShow i have been watching your videos this week and we definitely need more about animations, i will happily watch another hour about tween and animations.
    Todos los que gusten colaborar con el proyecto de traducción de la documentación de Flutter es bienvenido github.com/flutter-es/website/wiki/Como-colaborar solo intégrese al equipo!
    Saludos!

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

    why call it the "Boring" show, its very informative

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

      Glad you find it informative. We call it "boring" to set expectations. We're not there to entertain or to look like super-smart coders - we're there to show real-world development, with bugs, head scratching, long pauses to read docs, etc.

  • @namewhatsappstatus436
    @namewhatsappstatus436 6 лет назад

    Hello

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

    #Emily

  • @florentinaraja9178
    @florentinaraja9178 6 лет назад

    Solo lo entiendo en Español no otra lengua

  • @namewhatsappstatus436
    @namewhatsappstatus436 6 лет назад

    😘😘😘😘😘

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

    Watched:29june2020

  • @rookito
    @rookito 6 лет назад

    Maybe I'm very used to watch online courses with edited videos, but this video looks veryyyyyyyyyy slow like they are thinking a lot on what to say, what to do or what to type next

    • @AndrewMooreReactle
      @AndrewMooreReactle 6 лет назад +2

      That's the whole point, as it's more like you'd do it yourself when learning. It's good to see them making the mistakes we also make.

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

    👇 See last comment 1 year ago 😅

  • @november9109
    @november9109 6 лет назад +5

    Why are you using a MacBook 🤨🤨

    • @Gabriel-kb1qk
      @Gabriel-kb1qk 6 лет назад

      nathalion 123 🤣🤣

    • @mrbassocam
      @mrbassocam 6 лет назад +5

      Why not 🤔

    • @EmilyFortuna
      @EmilyFortuna 6 лет назад +10

      We discuss that at 28:07. Basically I am using a MacBook Air because I was traveling.

    • @filiphracek
      @filiphracek 6 лет назад +9

      If you want to compile and test your app on iOS, you must use a Mac. So that forces our hand if we want to test both targets end-to-end.
      But, to be honest, I would probably use a MacBook even without this constraint. As development devices go, it's a really solid Unix-based machine. I don't own any other Apple hardware, but with the laptop I'm happy.

    • @azulamazigh2789
      @azulamazigh2789 6 лет назад

      Emily in the house! Big fun of your tutorials.

  • @ushakiranmelasthri2933
    @ushakiranmelasthri2933 6 лет назад

    First

  • @michaelcharlesthearchangel
    @michaelcharlesthearchangel 6 лет назад

    Interplying Locomotions to your NeurAl Network mApp.
    ::
    Code/Cascade; time crystalline.
    :;
    As taught by the Word of Reality, of All-Seeing God, Eye in tHis human vessel.
    ;:
    Step by step. By I, the LORD of the World who has been the Master of the Eternal Spirit many many
    times over; Michael (as I AM today); Jesus; Laozi; Adam; etc.

  • @muhammadbasheer1925
    @muhammadbasheer1925 6 лет назад

    Boring show