This week in Flutter #79: Black Friday deals?
There is a big black Friday sale on Kodeco. I am biased because I occasionally do some tech editing work at Kodeco. Books and courses are created by passionate developers, and you should have a look at what is available for Flutter. Kodeco is the new raywenderlich.com.
Related to resources to learn Flutter I will have an announcement in the next issue of this newsletter. Stay tuned!
- Michele Volpato
Development 🧑💻
Responsive design in Flutter, the easy way
by Egon Meijers
Since Flutter 3, you can extend ThemeExtension to make theming your app easier. In this article, you learn how to create theme extensions for text styles and spacing values. You also learn how to effectively use them to improve the layout responsiveness of your app.
Beware of FlutterSecureStorage on iOS
by Isuru
This has happened to me in the past. You are testing your Flutter app on iOS, you log in with a certain account, then remove the app and install it again. And you are still logged in. Why does that happen? And how can you fix it?
Creating Widgets
When everything is a widget, it is too easy to get business logic code in the UI and vice versa. Stephan makes a distinction between destination widgets -like screens, pages, and modals- and component widgets, which have to follow some strict rules to keep your Flutter codebase reusable and maintainable.
Dart Extensions Tutorial: Improve your Flutter Code
This a perfect tutorial if you are new to Dart extensions, and the app used in it is adorable. Worth having a look even if you do not need to learn about Dart extensions.
Facilitate app updates with Flutter upgrader
Sooner or later you will need to make sure that the users of your app will update it to a certain version. You can help them by using the upgrader. Setup and configuration can be difficult to get right, so learn how to use it in this article.
Segmented State Pattern with DelayedResult
by Daria Orlova
A nice approach to handling success, in-progress, and error states for an asynchronous request in Dart. Daria also gives other possible ways to solve the problem, explaining their weaknesses.
Backend 🗄
Flutter Authentication and Authorization with RLS
Supabase is an open-source backend that you can self-host. You can see it as an alternative to Firebase and Appwrite, in particular if you want to use a relational database. This article is a tutorial on using Flutter as a frontend for a Supabase backend. You might want to read the first part of the tutorial before diving into this article.
I like the separation of the two articles, you learn about updating the database schema, about deeplinks, needed to open the app after the user confirms their email address, and about adding authentication, which is the main subject of this article.
Tools 🛠
Flutter CI/CD using GitHub Actions
If you host your code on GitHub, you can make use of GitHub Actions to deploy a new version of your app by just pushing changes to your main branch. In this article, you learn how to deploy a version of your app to the Google Play Console and GitHub Pages.
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