Michele Volpato

Michele Volpato

This week in Flutter #18: CustomPainter and AnimatedBuilder, RenderShiftedBox, minimalistic state management, and official packages.


Google Summer of Code is a way to help students get started with open source development. This year there were three Dart projects. One of them is a Flutter desktop app that helps developers choosing lint rules to apply to their projects.

Abdullah Deshmukh, the student working on the project, published an article about the project and his experience in the Summer of Code program.

I never attended a program like Summer of Code when I was a student. It looks like an amazing opportunity to learn from experienced people: you get assigned a mentor who will guide you during the process.

- Michele Volpato

🧑‍💻 Development

Flutter: How to draw a task completion ring with CustomPainter

Andrea Bizzotto publishes (another) lesson from his Flutter Animation Masterclass. In this one, he uses CustomerPainter to draw a “task completion” widget that looks a lot like a progress indicator.

Flutter: Animated Task Completion Ring with AnimationController and AnimatedBuilder

And right after the “task completion” widget, learn how to animate it with this related article.

How to create a custom Scrollbar using RenderShiftedBox

In the latest project I worked on, I had to implement a custom ScrollBar, but it wasn’t as cool as the one Elina Safaryanova implemented in this article.

Flutter state management for purists

We are always eager to try new packages, and there are plenty of them that help us with state management. But what if we do not need them? Certainly for a small app or some sample code, using what is already available in the Flutter framework is enough. Inclu Cat on the Gentle Trail elaborates more on this subject in this article. He also mentions another article, from Suragch, called “Flutter state management for minimalists” which I also recommend reading.

🤷‍♂️ Others

Introducing package:flutter_lints

The next major release of Flutter (2.3.0) ships with a new package called flutter_lints. New projects will use it by default, deprecating the old linting rules which are “heavily outdated”.

package:html (Flutter Package of the Week)

“Are you tired of Flutter’s widget tree?““No.““Are you feeling nostalgic for an HTML DOM?""DEFINITELY not."- YouTube comment

Still package:html can be useful in many ways in your app. Learn more about it from the Flutter team.

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.

You will also receive a list of resources to learn Flutter.

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

    Leave a comment