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
Leave a comment