3 min read

This week in Flutter #50

A new badge in your Google Developer account.

The Flutter team shared a basic learning pathway for building apps with Flutter. At the end of it, you can take a quiz to assess your knowledge and earn a badge for your Google Developer account.

Did you take the test and earn the badge? Let me know in the comment section below.

- Michele Volpato

Development 🧑‍💻

🔗 Stockholm

I have been working on desktop adaptive apps recently. A Flutter app is adaptive if its design and functionalities change according to the device the app is running on. Replicating the macOS design when running on macOS, or the Fluent design when running on Windows can be a lot of work, especially if you are not working in a big team, where you can have a developer advocate for each platform. You can use macos_ui and fluent_ui, which I talked about in last week’s issue.

Or you can use a package like Stockholm. Stockholm is a collection of widgets that look good in desktop apps. It provides a design that looks familiar on both Windows and macOS without replicating any of the two. From the creators of Serverpod. Have a look at the demo project.

🔗 Flutter : Drag & Drop Shapes in CustomPaint

This is a nice exercise if you are learning Flutter’s CustomPaint. swimmingkiim implements drag and drop without using external packages.

🔗 How to timeout local session in Flutter, if the application is inactive for some duration?

Sometimes you need your Flutter app to lock after a certain time of inactivity. Or you might want to show a modal to the user. Sanketh B.K created a package for this. In this article, he describes the implementation of the package.

🔗 BlocObserver: Debug and Observe your Bloc Easily

Debug your BLoC with this article by Dhruv Nakum. He uses BlocObserver, an interface that describes what a BLoC observer should do when various events happen, like when a new event is received, when an error is thrown, or a new state is emitted.

🔗 Build beautiful charts in Flutter with FL Chart

I already linked to packages that help you show charts in Flutter in this newsletter. I never linked fl_chart before. Learn more about this package, and see what nicely crafted charts you can build in this article by Bhavya Mishra.

🔗 Platform-Specific Code With Flutter Method Channel: Getting Started

In this article, Wilberforce Uwadiegwu gives a pretty good explanation of method channels in Flutter. You will also learn how to use them in a Flutter app.

🔗 Develop an Auto-Like Tweets App with Batch.dart

batch is a job scheduling framework written in Dart. In this article, its author Kato Shinya shows us how to automatically like tweets by implementing a Dart app that uses it. I do have a couple of CLI applications I wrote in Dart that could use it, and you?

Backend 🗄

🔗 Deployment of a Dart Server on Heroku

I am always happy to learn more about Dart uses outside of Flutter. In this article, Max Weber shows you how to get started with a new Dart-based server on the Heroku platform.

Others 🤷‍♂️

🔗 RepaintBoundary (Widget of the Week) 🎦

In this episode of Widget of the Week, Craig Labenz talks about making sure that calling setState will not force neighboring widgets to unnecessarily repaint.

🔗 MaterialStateProperties | Decoding Flutter) 🎦

Flutter 2 introduced new buttons that use the MaterialStateProperty. Do you know how to style a button with it? Craig Labenz talks about it in this video, giving also an idea of how to clean your code by creating classes that implement specific MaterialStateProperty instances, like MaterialStateProperty<Color?>.


That’s it for this week.

If you want to comment on any of this week’s entries, you can do it in the comment section below.

Have a bug-free week,

- Michele Volpato

Subscribe to this newsletter

Receive an email every week with curated content about Dart and Flutter.

    We won't send you spam. Unsubscribe at any time.