Since the last Flutter stable release at Flutter Forward, many interesting things have happened:
- work on Dart 3.0 has been completed (see the changelog)
- an official Flutter 2023 Strategy document has been published
- on April 1st, Tim Sneath even announced that Flutter now supports Windows 95 as its latest platform 😉
I don’t know about you, but I feel a new stable release is due. So let’s cross our fingers, and hopefully, we’ll get one at the upcoming Google I/O.
But that’s enough speculation for now. And let’s get on with the usual Flutter newsletter.
The Flutter team continues to spoil us with high-quality educational videos.
And their video lineup has just expanded with a new series called Flutter Build Show.
To find out what it’s all about, here’s the introduction:
Fresh from the oven, here’s the first video from the new series, covering the fascinating (and complex) topic of Custom Render Objects.
The video explains that there are cases, such as when rendering a custom chat message bubble, where Flutter’s single pass layout algorithm does not suffice.
And you’ll also learn to implement your own Custom Render Object with highly-tailored layout rules using RenderBox subclasses. 👇
What’s great about it is that it makes complex animations easy to implement.
For example, you can easily combine (and even stagger) multiple animations with a few lines of code:
For all the details, watch this video:
Are you building an app where users need to upload many images and assets to the cloud?
For that, you can use Cloud Storage and create buckets that allow you to store files, just like you would do with a regular filesystem.
And this video shows how to upload and download files using the Firebase Storage package:
WebAssembly (WASM) is a new, exciting frontier for building high-performance web apps (without relying on the standard DOM approach), and is now supported by all major browsers.
The Flutter and Dart teams are already working on adding WASM as a compilation target when building applications for the web.
This has the potential to make Flutter web apps much faster. And this in-depth talk, Kevin Moore explains what it takes to enable Dart to Wasm compilation and shows some promising demos too:
Here are some new articles and packages that caught my attention over the last month.
Ever made a call to
setState after an asynchronous gap or inside a widget’s
Or forgot to
await a Future inside a try/catch block?
These mistakes often lead to bugs that can take hours to debug. And thanks to the new dartcodemetrics package, they are much easier to identify and fix.
So don’t miss this article, showing how to prevent many common mistakes:
As an open-source author and maintainer, I work with dozens of Flutter projects that take up a ton of space on my hard drive.
To clean up disk space, I used to run a script that would run
flutter clean recursively in all my folders.
And thanks to the new puby package and the
puby clean command, reclaiming disk space becomes much easier.
I'm not kidding. After running
puby cleanon my home folder, I freed up over 40 GB of disk space! 🤯
To learn more about what this package can do, check it out here:
Did you know that Flutter now supports non-uniform borders?
This makes it much easier to implement custom borders, much in the same way they can be designed in Figma.
For all the details, check this Reddit thread and the corresponding PR:
The Rive app is a big success story, allowing developers to build interactive animations that can be embedded into a Flutter app.
And to show how powerful the Rive renderer is, here’s a new game built entirely using vector graphics.
And since the demo was built with Flutter, it runs on iOS, macOS, and Chrome with great performance. 🚀
Since the last edition, I’ve published one new article.
When working with Cloud Firestore, pagination is particularly useful for handling large data sets.
And since our users can only view a limited number of items at once, it is sensible to implement pagination and fetch only the data we need.
So here’s a new article showing how to use the Firebase UI for Firestore package to implement pagination in just a few lines of code:
After months of work, I’m nearly ready to share my new Flutter & Firebase course, which will open for pre-sale on April 25th.
As of today, I have recorded 5.5 hours of content, and the course will contain many additional resources too.
For all the details, check out the course page:
Due to some personal circumstances, the last few weeks have been tough for me. But I’m glad I can focus again on what I like most: delivering educational Flutter content for everyone. 🙏
So stay tuned for my next updates!