For the last few weeks, I have been working on a React Native project for work. This was my first experience writing “real” mobile apps. Before that, I only wrapped PWAs as APKs and called myself a mobile developer 😎.

React Native came naturally to me after I overcame a few learning curves as a React developer. Now I wanted to see what the buzz around Flutter was about.

Last weekend was a fine, sunny day, which is quite pleasant in late winter. It might not be winter by many people’s standards. I opened the getting-started page in the Flutter documentation. The installation file was quite large compared with React Native, which raised my expectations.

At this point, I knew nothing about Dart or Flutter: how they worked or how to write the code. But Flutter had an excellent write-up comparing React Native with Dart and Flutter. It helped me dive directly into building things without learning everything first. I got excited to create something and thought of a really simple app or game: sorting a list of cities so that traveling through all of them in order would be optimal. It isn’t much of a game by graphical standards 😥, but it was good enough for me.

The app uses a list of cities downloaded from simplemaps.com and a geometric formula to calculate the distances. After a day of experimenting, I was able to finish it with a lot of help from Google, Stack Overflow, and third-party packages.

It almost feels like magic that I still don’t know the Dart language properly, yet my app is running. Flutter’s development tools are excellent compared with React Native’s and helped me identify and fix issues more quickly.

I published my app just for fun ☺️ on the Play Store. If you are interested, you can also check out the code.