What do you want to be when you grow up?

French speaker, English speaker, artist, graphite illustrator, French chef, criminal sketch artist, outdoor survivalist, private pilot, model rocket explorer, Appalachian Trail hiker and camper, 111 Search and Rescue Composite Squadron Civil Air Patrol airman and emergency locator transmitter (ELT) scout, unicyclist, computer technician, morse code operator, owner of a ham radio FCC Extra Class License, electronic radio technician, ham radio electronic RF designer and circuit board builder, W5YI-certified ham radio license examiner, Windows networks systems administrator, electrical technology engineer, sound levels technician, classical guitarist, professional truck driver, creative writer, blogger, graphic designer, Korean language reader and writer, web designer, print production designer, glider plane pilot (accompanied by teacher in backseat), woodturner, woodturners club president, email server administrator, web developer, Linux hosting server administrator, photographer, videographer, audio editor, live streamer, video editor, kayaker, and a mobile app developer. These were the many interests I had growing up from childhood all the way through my 40th year. Many of those interests, I succeeded in doing well whether as a hobby or for work.

And here I am learning about mobile app development. Since I had a background writing Javascript PayPal forms and Google Maps with Custom Post Types for WordPress websites, I decided that I should start learning React Native. I purchased a few courses on Udemy, Teachable, and watched many tutorials on YouTube until I found teachers who fit my learning style. In my latest posts on app design I talked about my progress in building a React Native app, I took a break to learn more about navigation, useState, useEffect, offline caching, and passing variables between pages. Then other tasks became important so I ended up having a longer break to keep learning while working. I was stuck on choosing a user interface to use with React Native and somewhere in that time period, I started talking to a Swift developer about why he had moved from another platform towards that language. He said he was learning it from a British man on YouTube.

I searched and found Paul Hudson’s channel. I watched his beginner “first Swift app” tutorial and a few others he had. Swift looked easier and more simplified than React Native and it had its own SwiftUI import. I liked it but since I was already set on building an app that would work for both iOS and Android, I didn’t want to learn both Swift and Kotlin. And looking at Kotlin, Google’s new language for Android, it wasn’t as simplified and easy to understand as Swift. I had looked at Google’s Flutter when I was deciding on whether to learn React Native or not. But two years ago it wasn’t as developed, or so it seemed, as it is now.

With Flutter, I don’t need to search across the web for a solution or package, it’s simplified and easier to understand like Swift, it is pixel-for-pixel design when the code is compiled, it doesn’t rely on a bridge like React Native (that’s changing soon), there seems to be more maintained packages, it’s open source but backed by Google, and the properties for each are well documented. As I watched a YouTube tutorial playlist for building a first mobile app in Flutter, I caught myself laughing and surprised at how much simpler it was compared to React Native. The learning curve for Flutter seems to be like walking a small grassy hill with sunshine compared to hiking a steep trail in pitch dark with React Native.

I’m going to rebuild my current React Native and Expo app with Flutter.

Start a conversation about this post