This week in Flutter #9

Flutter for web has been a game-changer for my team. When a client mentioned that they would like to have a web version of the app we had already built for them, we were glad we used Flutter. Soon we will be able to create desktop apps as well, but should we?

The desktop experience is much different from the mobile one. A feature like undo, is not common in mobile applications, but it is in desktop ones. Furthermore, you have a full keyboard available to you on desktop, will you make your desktop app working without a mouse?

What do you think?

- Michele Volpato

🧑‍💻 Development

I remember some years ago, I was working on an iOS app that used machine learning models to identify some specific sounds. The model, and the functions to use it, was in C code. It was a nightmare. Now, whit Dart FFI it would be much simpler.

This new tutorial on raywenderlich.com explains what Dart FFI is and shows how to use it to access native libraries that support C-interoperability.

The Boring Flutter Development Show is back with a new episode. In this one, Filip and Fitz update the old Hacker News app to Flutter 2. Not without problems. When we migrated a relatively new app to Flutter 2, we did not use the sound null safety migration tool, we migrated manually, to keep everything under control.

With CallKit you can integrate your calling services with other call-related apps. In this (long) article the authors of the flutter_callkit_voximplant package explain why they needed to create a new package, and how they implemented it. It is not common to read articles about how a package is conceived and implemented.

🗄 Backend

🤷‍♂️ Others

My team makes and maintains Flutter apps for several clients. Some of these apps are not yet migrated to Flutter 2. Some other apps are using Flutter 2. This means that we need two different versions of Flutter, or even more, on the same machine to maintain such apps. How do we do it? Flutter Version Manager. In this article, Naveen Srivastava shows us how to get started.

Ruby is not my favorite language. Let me rephrase it: Ruby is my second to last favorite language. When I need to work on a Fastlane file, I first check if one of my colleagues is online, hoping to unload the job to them (they read this newsletter, so now I am in trouble).

So why not using one of your preferred languages for** command-line applications**? Brett Sutton tells us why we should use Dart.

19