But that is not what this newsletter is about. 😉
Instead, here's the usual recap from our wonderful Flutter-verse! 👇
Many Flutter events are taking place worldwide, and they are a great way to learn something new and connect with other developers. Here are my notes from the recent Droidcon and Flutter Vikings. 👇
As I live in London, Droidcon 2022 was the perfect chance to meet fellow Flutter GDEs, attend some great talks, and even have a few beers together! 🍻
A few weeks have passed since the event, and Alicia Ogonowska has shared this nice writeup of all the talks in the Flutter track:
Of all the fantastic talks, these were my favourites:
- Most important: Securing Flutter apps by Majid Haijan
- Most quirky: Another world by Simon Lightfoot
- Most useful: Managing multiple packages in a monorepo with melos by Lukas Klingsbo
Thanks to the hard work of the Flutter community, we now have an official playlist with (most of) the talks from Flutter Vikings.
If you missed the event and the original live streams, this is a great chance to catch up:
The official Flutter events are always something special!
So it's great to hear about Flutter Forward, which will take place in January 2023 in Nairobi (Kenya).
And if Dash is so excited about it, we should be too. 😉
Here's a roundup of interesting videos, UI challenges, packages, and other Flutter news I've come across this month. 👇
Without a doubt,
GestureDetector is the go-to widget for detecting user gestures.
But does Flutter know how to disambiguate between taps, clicks, drags, swipes, pans, and zooms?
This video by Craig Labenz is incredibly well-made and offers a great explanation:
One thing that Flutter, SwiftUI (and even CSS!) have in common is that they really shine when it comes to creating custom UIs with animations.
Both examples come with full source code, so check out these repos if you wanna see how they were built:
I always welcome new VSCode extensions that make my life easier.
And just recently, I came across Version Lens, which makes it easy to see and update to the latest available version for each package:
If you use VSCode, you can find and install it from here:
This is the best time to migrate to Riverpod 2.x, and this video by Randal Schwartz offers a great overview of what's changed:
In fact, I've been covering Riverpod extensively with my latest articles. 🙂
Since the last edition, I have published three in-depth articles. 👇
Riverpod is great.
But writing a lot of providers by hand can be error-prone, and choosing which provider to use can be challenging. 🥵
Luckily, the new Riverpod Generator package can take our pains away, and this article covers all the details:
If you've been using Riverpod since version 1.x, you'll be familiar with
StateNotifier, an observable class that stores a single immutable state.
But with Riverpod 2.x, a new
AsyncNotifier class has been added as a
StateNotifier replacement, bringing some benefits.
Read on for all the details:
If you use Riverpod in your apps, it can be challenging to write tests and get them working.
The official docs already include a helpful page about testing, but it doesn't show how to write asynchronous tests for classes with dependencies.
This article fills the gaps and addresses some gotchas that you're likely to encounter:
In addition to my articles, I have also updated my Flutter Foundations course with a brand new section about Riverpod 2.x and Riverpod Generator.
The whole course now contains over 14 hours of content.
And since Black Friday is this week, you can get it for 33% off here:
For many years, Twitter has felt like an ideal place to share, learn, and connect.
For the time being, I'll continue posting my usual Flutter tips on Twitter.
Note: the Mastodon onboarding process is a bit complicated and you have to choose a server to get started. This guide covers all the most common questions.
Thanks so much for reading this latest newsletter.
And stay tuned for the next one!