3 min read

This week in Flutter #33

The new versions of Dart and Flutter are available

Dart 2.15 has been announced, and OMG they are improving enums:

enum MyEnum {
  one, two, three
}
...
print(MyEnum.one.name);  // Prints "one".
print(MyEnum.values.byName('two') == MyEnum.two);  // Prints "true".

Maybe we will get Swift-like super enums one day.

And you have no idea how many times I declared a List with the 2.15 syntax, and it did not work:

var y = List; // Already supported.
var z = List<int>; // New in 2.15.
var z = typeOf<List<int>>(); // Pre-2.15 workaround.

Flutter 2.8 has also been announced, but my favourite news is the new Firebase UI widgets. Especially the FirestoreDataTable is going to save me so much time.

- Michele Volpato

Development 🧑‍💻

🔗 Flutter Tutorial: Stopwatch App with Custom UI and Animations 🎦

In this video by Andrea Bizzotto, you’ll learn how to create a custom stopwatch. This is a lesson from his course on Flutter Animations Masterclass.

Note: I followed the course, I paid full price for it and I do not get a commission for advertising it. It’s that good.

🔗 Learn Bloc in Flutter 🎦

[Vandad Nahavandipoor](https://www.youtube.com/channel/UC8NpGP0AOQ0kX9ZRcohiPeQ) is very active on LinkedIn sharing tips about Flutter and Dart, and other frameworks and programming languages. The goal of this streamed event was to teach how BLoC works in Flutter, answering questions from the participants. I like the content Vandad share, I think the main reason is that Vandad is a real senior developer who also creates content, not the other way around.

🔗 How to Parse Large JSON Data with Isolates in Dart 2.15

Another article by Andrea Bizzotto. In Dart 2.15 isolates, pieces of code that run independently from one another, have been improved. Andrea promptly published an article where you’ll learn how to take advantage of these improvements while parsing JSON data.

Backend 🗄

🔗 How to Build a Simple CRUD Application Using Flutter and Strapi

Strapi is an open-source headless CMS. In this article, you’ll learn how to integrate your Flutter app with an existing Strapi instance. This is a specific case, but if you are adding an app to your portfolio that integrates with an existing backend that already uses Strapi, then this might be helpful.

Tools 🛠

🔗 How to automate localization for Flutter apps

In this article, the GitLab team shows how to use webhooks and Localizely to automate the localization process for a Flutter app. There are not many technicalities in the article: it just gives you an idea of how to make it simpler to integrate Flutter and Localizely using GitLab.

Others 🤷‍♂️

🔗 A simple, fast and lightweight Flutter dev environment on Manjaro

In my to-do list, there is an item I am going to address as soon as I have some free time: “Get a Linux machine to try Flutter on Linux”. I saved this article by Leandro Carvalho to get started with it.

🔗 Freezed (Package of the Week) 🎦

In this episode of Widget of the Week, Craig Labenz talks about Freezed, a Dart package that uses code generation to make your codebase more robust and readable.

🔗 Foldable layouts in Flutter 🎦

Andrei Tudor Diaconu, from Microsoft, presented at droidcon how to handle layout in Flutter when you have a foldable device, like the Surface Duo. In the video, Andrew Fitz Gibbon from the Flutter team also makes an appearance.

🔗 Widgets vs helper methods | Decoding Flutter 🎦

Did you also argue with your colleague about whether it is better to move a subtree from the build method to a helper method, or to a new widget? Craig Labenz gives the final answer in this video of the series “Decoding Flutter”. It’s the new widget approach. But he also points out that if you use helper methods, it is still fine, you might just experience unnecessary rebuilds. Do not use too many helper methods.

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.