This week in Flutter #14
I had to make some changes to an iOS app written in Swift. I have been working mainly in Dart/Flutter for the last months, but I was surprised by how quickly I got back into Swift mode.
Which programming languages make you eager to use them, and which ones make you feel like you just want to run away?
- Michele Volpato
Social Authentication in Customized Flutter Applications
If there is something I learned about authenticating users in your apps, is that you should never build your own authentication service. It is too complicated. So complicated that there exist companies which business model is just to provide an authentication layer for you. All backend-as-a-service platforms give you an authentication service, as well. Another approach you can take is authenticating users with their existing social accounts.
In this article, Jaimil Patel shows you how to integrate social authentication in your Flutter app. Just remember that if you allow users to authenticate via Google or Facebook on iOS, you also must let them authenticate via Apple.
Responsive layouts in Flutter: Split View and Drawer Navigation
Andrea Bizzotto teaches us how to transform a
Drawer into a split view when the screen has enough room for it. In the article, he creates a custom component
SplitView and uses Riverpod to hold a global application state. The article is well written, and I particularly like that he touches on the concept of reusability of components. Tutorials are too often just a bunch of code that you can’t reuse in your own projects.
How to implement a shake text effect in Flutter
Another article from Andrea Bizzotto. In this one, he shows us how to create a simple shake animation as feedback to user input. Pretty neat.
There are different ways you can manage the state of your app in Flutter. You can use simple state management with stateful widgets, or you can use packages, like
Riverpod. Kefeh Collins claims that just a step above simple state management, there are Flutter hooks. Learn more about them in this article.
ByteDance, the company behind TikTok, released an in-app debug tool called UME. When you use it, as a developer dependency, in your app, you can see debug information directly in your app. ByteDance was featured in the latest Google I/O.
Managing multi-package Flutter projects with Melos
When you are working on a simple app, you have a single pubspec.yaml, and all your code is in a single lib folder. But if you are working on a much bigger project, you might need to keep code separated into different development packages, which increases the complexity of your project. Melos can make that simpler for you, and Sagar Suri shows us how.
Experimenting with Dart and Wasm
WebAssembly (Wasm) was designed with the idea of deploying high-performance applications on a web browser, but it can be also used in other apps.
Liam Appelbe and Michael Thomsen tell us about the interoperability between Dart and Wasm. Quite a technical article, I understood less than half of it 😅.
640 Pages in 15 Months
Bob Nystrom is well known to the Dart/Flutter community. He is writing a book called Crafting Interpreters, and he used Dart to create a build system for the book. Read more about the challenges he encountered in this article.
Collection (Flutter Package of the Week)
I was following a course about image processing during my bachelor’s. One of the assignments was to implement a lossless image compression program. I implemented my own version of the data structure used to hold the color information in memory and the memory usage exploded quite quickly.
Do not make my mistake, use existing libraries. The Collection library contains all those data structures you studied in your computer science course but never used.
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