I spent majority of my mobile development career on native app development, mainly Kotlin and Swift. And this is my perspective on using Flutter for the first time. I have only seen small code snippets and that’s it.
This is my first time logging into Flutter’s official site. I Googled Flutter. And first thing came up is Flutter – Build apps for any screen. And I have to double check, why .dev? It seems too cringe.
Anyway, time to install. I wish we could just install Flutter via homebrew
brew install flutter. Let me try.
Well, that worked. Curiously nowhere in their macOS install | Flutter indicated this option.
Running flutter doctor be like…
A couple of things that caught my attention. Cocoapods not installed, okay makes sense. And “cannot find Chrome”? Yes, I don’t use Chrome.
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
Try setting CHROME_EXECUTABLE to a Chrome executable, what the fuck does that even mean. Does this mean I can’t do Flutter things without Chrome?
Let’s create our first Flutter project.
Flutter used my client’s Apple Development account. Maybe this is the first account that popped, I have to change this to my own in the future. It would be correct if Flutter can let me choose my account no?
Time to run my Flutter project.
Let me attach my Android device.
Damn, I forgot to install adb. What kind of Android dev am I.
Okay I think we are all set. Device has been detected.
Why Install Android SDK Build-Tools 29.0.2? According to https://developer.android.com/studio/releases/build-tools, version 29.0.2 has been released back in August 2019. The latests version is 30.0.2.
Deploy to iOS
I’m too lazy to find the wire, so let’s run it on an iOS emulator instead. As I’m reading the macOS install | Flutter it turns out I need Cocoapods installed. Nah let me open Xcode workspace directly and run it on the emulator. It worked perfectly well.
Damn, why is there a little Debug ribbon on the upper right.
Opening the project on Android Studio
Not sure if straight up importing from the Android Studio will work. Let’s try.
Okay it worked. Let’s also update the Android Gradle Plugin. Let’s run the upgrade assistant.
Whoa! I’m about to upgrade the AGP version from 4.1.0 to 7.1.3? Let’s do it!
And the build failed. It seems Flutter does not yet support AGP 7.1.3 or Java 11. It’s a shame since our current Android project (Kotlin) has been built with AGP 7.1.3 as long as I can remember.
Let’s try to build a debug APK to check their size. I always make sure APK sizes are always manageably small since in my country, data is very pricey.
Compare that to the APK size of our current released native app.
- Remember the Cocoapods and Chrome issues? I’m not yet sure on their purpose since I can open and build the projects directly on Xcode and Android Studio. I read something about Flutter plugins but that is for another day.
- Cross platform solutions always tends to generate large sizes compared to native.
For the next part, maybe I will try to create a splash screen.