This week in Flutter #4
Tags: flutter, dart, firebase, mobile
Published: 2021-05-24 19:58:03

This week's [Google I/O](https://events.google.com/io/?lng=en) brought us [many talks about Flutter](https://www.youtube.com/playlist?list=PLjxrf2q8roU19JGviPyeWc-SpDzou8Ug8). I really enjoyed [Why null safety?](https://www.youtube.com/watch?v=tP9TcrUZoIs) by [Bob Nystrom](http://journal.stuffwithstuff.com/). It gives you a very good explanation of why adding (sound) null safety static analysis to Dart is **valuable**, **affordable**, and **flexible** while giving examples of some other static analysis techniques that are not. Now that Dart added null safety, inspired by [Swift Optionals](https://ishouldgotosleep.com/swift-optional-vs-dart-sound-null-safety/), it is time to get [super-powered enums](https://www.swiftbysundell.com/articles/powerful-ways-to-use-swift-enums/), also inspired by Swift. Will this just be a dream?

Did you miss the Google I/O event? read [what’s new in Flutter 2.2](https://medium.com/flutter/whats-new-in-flutter-2-2-fd00c65e2039), from the Flutter team.

## 🧑‍💻 Development
### [How It’s Made: I/O Photo Booth](https://medium.com/flutter/how-its-made-i-o-photo-booth-3b8355d35883)
Do you want to know how [Very Good Ventures Team](https://verygood.ventures/) created the photo boot for Google I/O 2021? Well, follow the link. The article does not give you a step-by-step tutorial to recreate the app, but it explains what **challenges** they faced and how they **approached** the **problem**. That is way better than a step-by-step tutorial.

### [An In-Depth Dive Into Streaming Data Across Platform Channels on Flutter](https://www.raywenderlich.com/20518849-an-in-depth-dive-into-streaming-data-across-platform-channels-on-flutter)
Learn about interacting with native platform APIs from Dart. This should be an article every Flutter developer should read. You might never need to use platform channels yourself, but knowing how they work will improve your **understanding** of Flutter **plugins**.

### [All You Need to Know About Downloading Images in Flutter](https://www.youtube.com/watch?v=2XyOhO28WeI)
Some days ago I was having problems understanding the `loadingBuilder` parameter of a `Image.network`. The day after Vandad Nahavandipoor published this **video**. One day too late. 😄

### [An Introduction to Dart](https://dev.to/markm208/an-introduction-to-dart-4pem)
[Mark Mahoney](https://markm208.github.io/) started a series of articles about the basics of Dart and Flutter. He also wrote [a free book](https://markm208.github.io/flutterbook/) on the subject. I am always happy to see organized content like this. Well done.

### [Announcing type aliases](https://medium.com/dartlang/announcing-dart-2-13-c6d547b57067)
The Dart team announced type aliases, introduced in Dart 2.13. Now you can do
```dart
typedef Json = Map<String, dynamic>;

class User {
  final String name;
  final int age;
  
  User.fromJson(Json json) :
    name = json['name'],
    age = json['age'];
    
  Json get json => {
    'name': name,
    'age': age,
  };
}
```
Codebases will become a little bit clearer. Just do not start **abusing** them!

## 🧑‍🎨 Design
### [Custom Neumorphic Shapes in Flutter](https://codereis.com/posts/custom-neumorphic-shapes/)
I am not a big fan of **neumorphism**, but [it looks like](https://www.hackingwithswift.com/articles/213/how-to-build-neumorphic-designs-with-swiftui) it might become more relevant in app design. Ali Rıza Reisoğlu shows us how to create your own custom shapes using [`flutter_neumorphic`](https://pub.dev/packages/flutter_neumorphic).

## 🗄 Backend
### [Cloud, Dart, and full-stack Flutter | Q&A](https://www.youtube.com/watch?v=r8rVm4-RJJM)
Amazing **Ask Me Anything** about integration between Flutter and Google Cloud. If you are into Dart "server-side" you must watch this. For instance, have a look at [Dart Function Framework](https://github.com/GoogleCloudPlatform/functions-framework-dart/).