Invertase, the company bringing Firebase integration to Flutter, is working on FlutterFire for desktop. More specifically they are adding Linux and Windows support. MacOS is already (partially) supported. The interesting part is that they are building a universal SDK using Dart, which means that they could also move the existing platforms to use the same Dart SDK, while they are now using the existing SDKs available for each platform. They can keep to code separated by using federated plugins. It is still unknown when all the different services from Firebase will be ready for desktop, but it is good to know that they are working on it. The code is open source, so, if you like, you can contribute via the official repository.
In the meanwhile, Google announced Android 12L, a version of Android that works well on larger and foldable devices. We, Flutter developers, already design our apps with larger devices in mind (right?), so I am not sure if and how this version will influence Flutter. Reading the official guide on how to migrate your app UI for Android, it looks to me that, if you designed your Flutter app for web or desktop, you do not need to do anything else. Let me know what you think.
- Michele Volpato
This is Bảo Trương attempt to recreate the animation used in Facebook when you react to a post. It is a good exercise, with explanations of the process he went through to reverse engineer it.
I never tried, but you can take a screenshot while testing in Flutter. Have a look at this article by [Martin Jablečník](https://dev.to/mjablecnik) to get started and let me know if you manage to add this feature in your development process.
One thing I love about Flutter is that, sometimes, complex code implementation is hidden behind the native code used in the packages you import in your project. Like in this article, by Bhavya Mishra, where the boilerplate code is hidden in the implementation of the
Let’s say you want to temporarily disable all controls in a widget. For instance, you have a settings screen with an “enable settings” toggle at the top. You can rebuild the subtree by passing an “enabled” parameter. Or you can absorb the user input for the entire subtree! Learn how with this article, by Shaiq khan.
Sooner or later you will need to persist data in your Flutter app. One of the ways to do it is by using sqflite. If you are familiar with relational databases but need help to get them to work in a Flutter project, follow this article, by Vijit Ail.
🔗 [Flutter Redux: Complete tutorial with examples](https://blog.logrocket.com/flutter-redux-complete-tutorial-with-examples/)
I already linked articles about Amplify in previous issues of this newsletter. But this one, by Himanshu Sharma, is on another level. Mute your phone and desktop notifications, and learn how to get started with Amplify and with your Flutter project.
I am a big fan of Makefiles. I use them extensively in my Flutter projects. Another approach is using derry, like in this article by Rodrigo Bastos. You can also achieve the same by using grinder, although it is a bit more complicated.
Learn more about code generation for Flutter apps in this article, by [Dhruv Nakum](https://hashnode.com/@Dhruv-Nakum). Often, when you follow a tutorial, the author just shows you how to automatically generate code for your app. Dhruv also explains why code generation is helpful and when you should avoid it, instead.
In this episode of Widget of the Week, Craig Labenz introduces you to the
Theme widget. Normally, I wouldn’t link this episode, because of how general and easy the subject is. But the Flutter team made a special episode for Halloween. Spooky!
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