This week in Flutter #10
Tags: flutter, dart, news
Published: 2021-07-03 12:18:09

Recently GitHub (Microsoft) [introduced Copilot](<https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/>), a tool that uses **AI to write code**. It uses OpenAI Codex, a system similar to GPT-3. If you did not understand a single word, do not worry. Watch [this video](<https://www.youtube.com/watch?v=l9zAq_xNoJk>) from Mangirdas Kazlauskas to find out how **it performs on Flutter**.

Will we all be replaced by AI in the future? No idea, but they said similar things about **Low Code/No Code**, and that did not happen yet.

<small>- Michele Volpato</small>

## 🧑‍💻 Development

### [How to make your own native library bindings with Dart FFI](<https://manichord.com/blog/posts/learning-dart-ffi.html>)

In this series of articles, [Maksim Lin](<https://github.com/maks>) shares his experience in using **Dart FFI to be able to playback audio on Linux**. I am looking forward to the next articles in the series.

---

### [Working with Firebase Cloud Firestore made easier with "withConverter()"](<https://dev.to/chinmaykb/working-with-firebase-database-made-easier-with-withconverter-473n>)

In [version 2.2.0 of the Firestore Flutter package](<https://pub.dev/packages/cloud_firestore/changelog#200>), the Firebase team introduced `withConverter`, which allows **interacting with collections/documents in a type-safe way**. [Chinmay Kabi](<https://twitter.com/ChinuKabi>) shows us how to use it. I must say I added a `TODO` in the projects I am working on to use it there as well.

---

### [Exploring Flutter Navigator 2.0: VRouter](<https://medium.com/flutterdevs/exploring-flutter-navigator-2-0-vrouter-dc744e1f4d0c>)

I have implemented [Navigation 2.0](<https://medium.com/flutter/learning-flutters-new-navigation-and-routing-system-7c9068155ade>) in a couple of apps for now, and I am not very happy with it: **boilerplate code** and **increased complexity** are my major concerns with it. [VRouter](<https://vrouter.dev>) might make it **simpler**. In this article, Naveen Srivastava shows us how to get started with it. Before using it you must take into account that it [replaces](<https://vrouter.dev/guide/Essentials/About%20MaterialApp>) `MaterialApp`.

---

### [Mixing packages that don't support null safety in Flutter](<https://developermemos.com/posts/mixing-packages-null-safety-flutter>)

What do you do when you are migrating to null-safety, but there is just one package which is not updated yet? You do not migrate! Or you can use [Jordan Holland](<https://twitter.com/jordanm_h>)'s approach described in this article. I would go for not migrating yet. 😅

---

## 🗄 Backend

### [Building a Post Scheduling App with HarperDB & Flutter](<https://blog.albertobonacina.com/building-a-post-scheduling-app-with-harperdb-and-flutter>)

This is [Alberto Bonacina](<https://twitter.com/polilluminato>)'s article for the **hackathon** I advertised last week. I think this is my favorite so far. It is **simple** and **useful**. He might even **publish** the app in the stores.

---

## 🧑‍🎨 Design

### [Building Complex UI in Flutter: Magic 8-Ball](<https://www.raywenderlich.com/22379941-building-complex-ui-in-flutter-magic-8-ball>)

A new tutorial from raywenderlich.com. **Create a 3D magic 8-ball**.

---

### [Unbounded height / width \| Decoding Flutter](<https://www.youtube.com/watch?v=jckqXR5CrPI>)

You **need** to watch this video from the Flutter team. Filip Hráček, with the help of some funny animations, explains what happens when you get an "**Unbounded height**" error. **One hundred pixels**!

---

[...]

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