67 thoughts on “Testing, JSON serialization, and immutables (The Boring Flutter Development Show, Ep. 2)

  1. Thank you guys, it's great that you're hearing comments, moving towards more advanced topics and not trying to make tutorials.

    The only thing that remains is, please do it more often!

  2. Was checking the channel constantly waiting for the episode, love the show and love the channel in general, great help for a new dev like me. Thanks guys! Can't wait for episode 3!

  3. Loving the show! Eagerly waiting for the next episode! The pace of the video is perfect and the way you guys are working is exactly how a normal developer works in day to day life, breaking things and learning while fixing those things. Excited to see you complete the built_value portion and move on to fetching data from network. I hope you guys will cover widget testing when a server call is involved and how to use HttpOverrides. Thanks again for doing this show, it is really helpful for new flutter developers!

  4. At the point in time you hit break point the code has not run yet. Just afterwards. That's why you just see the watcher value after the debug step.

  5. Flutter does tree shaking to remove unused code parts from project and libraries. Which is against reflection because it expects everything in the code to be there at runtime. I read this somewhere as the reason to exclude mirror library from flutter.

    And these episodes are nice. I would like to hear about architecturing a really huge app. I couldn't find any proper way of doing this. There were couple of articles but they are not practical and had too much boilerplate code. So I designed one architecture by myself. I wrote couple of source generators for that. It works but feels a bit hacky. I wonder if you guys have any thoughts about this?

  6. I love Dart !
    For json de/serialization json_serializable package is a must have !
    Would be nice to have tips and tricks and good practice on how to share codebase between AngularDart(5) & Flutter.

  7. Please test on Android One (1st Gen) devices. Those are low end/budget phones but quite powerful (Quad core/1G ram). On Shrine, scrolling is jerky (it has images), but scrolling on Contact Profile is fine (text only). On Studies> Animation, it really is laggy. Everything else is quite performant though. Btw, tested on Flutter Gallery from Play Store and release buld from /example from master.

  8. I like the scene that Andrew introduce the event loop model that flutter use and they write code start with a test, it is just a great thing to see how top coder code .

  9. I had forgotten about this show when you appeared in my subscription list. Took me by surprise to hear my name as a student is asked suddenly by the teacher as the class starts. Luckily I had no homework to do. I am satisfied with the answer but still my mind is unsettled because I don't know how the rendering engine is working in Flutter. It is reacting but how reacts?
    I like to see you both in all kinds of problems and how you react : confused debugger, conflicts in the package manager, in reading the prospect of built_values. It's fun.

  10. Thanks for the excellent videos, I'm really enjoying them!

    I'm also a fan of built_value but likewise found it generally takes more than a few lines of code. This past weekend I refactored out some of the code generation we've built for our app to a separate project: https://github.com/hillelcoren/flutter-redux-starter

    As a test I tried it with the Hacker News API. I needed to use a version which cleans up the data but the results are pretty cool. You can create the app by running these commands and then changing the route in lib/data/repositories/article_repository.dart from /articles to /news on line 20.

    git clone [email protected]:hillelcoren/flutter-redux-starter.git hacker_news && cd hacker_news

    ./starter.sh init hacker_news articles api.hackerwebapp.com

    ./starter.sh make articles article title,url

  11. Could you talk more about what build_value is and why it's useful? I'm a little confused on what it is.

  12. White label product.
    Currently have native iOS and android apps.
    For each of our clients, we have an iOS scheme, and an android module.
    The architecture is very simple, and the only differences from client to client are some configurations (colour scheme, icon, app name, bundle identifiers) and the firebase project config file. The modules and schemes all have a common code base that has all the pages, business logic etc.

    Was wondering if achieving this kind of architecture would be simple in Flutter

    Great show!

  13. Guys, these are awesome! Please do some serious state management with Built Value + Built Redux! You can give us a 2-hour show if you want. I'm certain most people who follow you have done a lot of basic leg-work in Flutter already. Keep breaking things and coding the way you do!

  14. Another great episode, though I did find myself shouting at my screen at about 50mins, "You're trying to watch parsed before that line has been executed! Step over it!" 😂

  15. I think the format is really great and as a beginner in Flutter/Dart programming I like the detail you get into. If anything, I would appreciate more explanation but understand that there may be others who want less. Personally, I would also appreciate a few more words up front on what you are trying to do and why you have adopted the approach you have. Having said that, I could watch you two all day and I am sure my programming skills would improve markedly – not to mention my coffee drinking capacity!

  16. My solution to the dependency conflicts which still exist when you search for individual plugins in the pub directory and install the latest, is to just use the vesions in this file:

  17. How to handle a case where sometimes I can get a field in json and sometimes not. Like this –
    {"id":"89", "name":"Flutter"} and sometimes like –
    {"id":"89", "name":"Flutter","address":"earth"}
    It might also be in form like completely missing or receiving null value (in case its a nested object)
    I am using plain dart convert library.

  18. What is the point of having a factory constructor if we also have a regular constructor? is that sort of like a static class method? Loving the show, btw

  19. Hahah i wasnt watching it because of the “boring” title but now i gave it a chance and it is actually pretty good! Cool keep it going!

  20. There's no reflection in Flutter because of the 60fps goal of the Framework. Reflection can be done AFAIK in any platform, even c++ does it in native code.

  21. They call it boring, but for me that's the most exciting thing I ever watched on youtube! The moment with debugging the weird test 47:30 was just utterly absorbing! And you know, this whisper "what are we missing?" around that timecode, I can imagine that to be in a movie trailer for "The Boring Show" with dramatic music and building up atmosphere!

  22. I Finished the 3rd episode and had to redo the entire second one and third again because i just got lost !!! this is good for real beginners. Appreciate the way its done. I hope you guys keep doing this FOR A LONG LONG TIME

  23. I wonder why Dart/Flutter does not have easy to use JSON serialization like GoLang. built_value brings unnecessary complexity and quite a lot of boilerplate code. ref : https://github.com/dart-lang/sdk/issues/36066

  24. Greetings from the Future, folks! With Dart 2, you can decode that json String with one line!

    List<int> parseTopStories(String json) => (jsonDecode(json) as List<dynamic>).cast<int>();

  25. Well I am newbie in flutter. I created json_parsing.g.dart class with build_runner but on it doesn't update with change in json_parsing.dart. What could be the reason?

  26. Hi, thanks for tutorials. I've a problem with the Flutter. I want to develop a RTL language Flutter app and have a problem while typing persian characters! the cursor moved to misplaced position! Search for this more and more, and others have this problem with no idea! Have you any idea or help? The problem is specific in below links:

    Thanks a lot for attention and helping me.

  27. 0:00 Bug fix
    5:30 Testing
    16:40 JSON Parsing
    24:45 Deserialising a list
    37:00 Deserialising an object
    50:00 Source generation
    53:44 Built value
    59:53: Solving flutter dependency issues like a pro

  28. I don't realize what is the advantage of using AutoValue instead using a
    plugin like RoboPojoGenerator todo generate the Pojo classes based on
    json response?

  29. i have a problem .i did exactly what you did in this video but i got an Error: Not found: 'dart:ui' why did it happen?and how can i fix it?

Leave a Reply

Your email address will not be published. Required fields are marked *