This week in Flutter #27
Tags: dart, flutter, news
Published: 2021-10-30 15:50:31

Invertase, the company bringing [Firebase integration to Flutter](https://github.com/firebaseextended/flutterfire),  is working on [FlutterFire for desktop](https://invertase.io/blog/announcing-flutterfire-desktop). More specifically they are adding [Linux and Windows support](https://github.com/invertase/flutterfire_desktop). 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](https://docs.google.com/document/d/1LD7QjmzJZLCopUrFAAE98wOUQpjmguyGTN2wd_89Srs/edit). 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](https://github.com/invertase/flutterfire_desktop).

In the meanwhile, Google announced [Android 12L](https://developer.android.com/about/versions/12/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](https://developer.android.com/guide/topics/large-screens/migrate-to-responsive-layouts), 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

Development 🧑‍💻
-----------------

### 🔗 [Facebook reaction animation](https://medium.com/@baothg/flutter-facebook-reaction-animation-1d5ef347eca1)

This is [Bảo Trương](https://medium.com/@baothg/about) 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.

### 🔗 [Take a screenshot during Flutter integration tests](https://dev.to/mjablecnik/take-screenshot-during-flutter-integration-tests-435k)

I never tried, but you can take **a screenshot while testing in Flutter**. Have a look at this article by [](https://dev.to/mjablecnik)[Martin Jablečník](https://github.com/mjablecnik) to get started and let me know if you manage to add this feature in your development process.

### 🔗 [Geolocation and geocoding in Flutter](https://blog.logrocket.com/geolocation-geocoding-flutter/)

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](https://github.com/BhavyaRattan), where the boilerplate code is hidden in the implementation of the `location` package.

### 🔗 [Explore AbsorbPointer In Flutter](https://medium.com/flutterdevs/explore-absorbpointer-in-flutter-7091b025a29)

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](https://github.com/ShaiqAhmedkhan).

### 🔗 [How to persist data in Flutter using SQLite](https://blog.logrocket.com/flutter-sqlite-how-to-persist-data/)

Sooner or later you will need to **persist data in your Flutter app**. One of the ways to do it is by using [sqflite](https://pub.dev/packages/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](https://github.com/vijitail).

Architecture 🏛
---------------

### 🔗 [](https://blog.logrocket.com/flutter-redux-complete-tutorial-with-examples/)[Flutter Redux: Complete tutorial with examples](https://blog.logrocket.com/flutter-redux-complete-tutorial-with-examples/)

**Redux** is a **state container** for apps written in JavaScript. The idea behind Redux can be applied to apps written in any programming language. For instance, [Damilare Jolayemi](https://blog.logrocket.com/author/damilarejolayemi/) wrote a nice tutorial to apply it to Flutter apps. Should you use it in your apps? If you moved from JavaScript to Flutter, and you already have experience with it, then you can easily use your existing knowledge. Otherwise, I would prefer a more [minimalistic approach](https://suragch.medium.com/flutter-state-management-for-minimalists-4c71a2f2f0c1).

Backend 🗄
----------

### 🔗 [Learning how to use AWS Amplify in Flutter](https://blog.logrocket.com/learning-aws-amplify-flutter/)

I already linked articles about Amplify in previous issues of this newsletter. But this one, by [Himanshu Sharma](https://github.com/himanshusharma89), is on **another level**. Mute your phone and desktop notifications, and learn how to get started with Amplify and with your Flutter project.


[...]

Read the rest on [my website](https://ishouldgotosleep.com/this-week-in-flutter-27/).

[Join the Flutter and Dart newsletter](https://ishouldgotosleep.com/subscribe-to-the-newsletter-devto/) and receive it weekly in your inbox.