This week in Flutter #14
Tags: dart, flutter, news
Published: 2021-07-31 14:40:41

I had to make some changes to an iOS app written in Swift. I have been working mainly in Dart/Flutter for the last months, but I was surprised by how **quickly** I got back into Swift mode.

That makes me think of Swift as a very **good language**. I have the same with Dart. I do NOT have the same experience with JavaScript, but this is just my personal experience.

Which programming languages make you eager to use them, and which ones make you feel like you just want to run away?

<small>- Michele Volpato</small>

## 🧑‍💻 Development

### [Social Authentication in Customized Flutter Applications](<https://medium.com/flutter-community/social-authentication-in-customized-flutter-applications-5c972bff17f3>)

If there is something I learned about authenticating users in your apps, is that you should **never build your own authentication service**. It is too complicated. So complicated that there [exist](<https://www.okta.com>) [companies](<https://auth0.com>) which business model is just to provide an authentication layer for you. All backend-as-a-service platforms give you an authentication service, as well. Another approach you can take is authenticating users with their existing social accounts.

In this article, [Jaimil Patel](<https://twitter.com/JaimilPatel5>) shows you how to **integrate social authentication** in your Flutter app. Just remember that if you allow users to authenticate via Google or Facebook on iOS, you also must let them authenticate via Apple.

---

### [Responsive layouts in Flutter: Split View and Drawer Navigation](<https://codewithandrea.com/articles/flutter-responsive-layouts-split-view-drawer-navigation/>)

[Andrea Bizzotto](<https://twitter.com/biz84>) teaches us how to transform a `Drawer` into a split view when the screen has enough room for it. In the article, he creates a custom component `SplitView` and uses Riverpod to hold a global application state. The article is well written, and I particularly like that he touches on the concept of **reusability of components**. Tutorials are too often just a bunch of code that you can't reuse in your own projects.

---

### [How to implement a shake text effect in Flutter](<https://codewithandrea.com/articles/shake-text-effect-flutter/>)

Another article from [Andrea Bizzotto](<https://twitter.com/biz84>). In this one, he shows us how to create a simple **shake animation** as feedback to user input. Pretty neat.

---

### [Flutter Hooks](<https://medium.com/flutter-community/flutter-hooks-7754df814995>)

There are different ways you can manage the state of your app in Flutter. You can use simple state management with stateful widgets, or you can use packages, like `flutter_bloc`, `Provider`, and `Riverpod`. [Kefeh Collins](<https://github.com/kefeh>) claims that just a **step above simple state management**, there are Flutter hooks. Learn more about them in this article.

---

## 🛠 Tools

### [Flutter UME](<https://github.com/bytedance/flutter_ume/blob/master/README_en.md>)

ByteDance, the company behind TikTok, released an in-app debug tool called UME. When you use it, as a developer dependency, in your app, you can see **debug information directly in your app**. ByteDance was [featured](<https://medium.com/flutter/google-i-o-spotlight-flutter-in-action-at-bytedance-c22f4b6dc9ef>) in the latest Google I/O.

---

### [Managing multi-package Flutter projects with Melos](<https://medium.com/flutter-community/managing-multi-package-flutter-projects-with-melos-c8ce96fa7c82>)

When you are working on a simple app, you have a single **pubspec.yaml**, and all your code is in a single **lib** folder. But if you are working on a much **bigger project**, you might need to keep code separated into different development packages, which increases the complexity of your project. [Melos](<https://melos.invertase.dev>) can make that simpler for you, and [Sagar Suri](<https://twitter.com/SagarSuri94>) shows us how.

---

[...]

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