Why I chose flutter for building apps?  A native iOS developer perspective.

Why I chose flutter for building apps? A native iOS developer perspective.

Hey Gang,

Here I am going to share my thoughts on why I started using flutter for coding mobile apps. This is just my personal opinion based on my learning and experience so far.

Background:

I am basically an iOS developer, coding using swift and had started my journey with Objective C. I have nearly 10 years of experience in building native apps for iOS. Currently I work as a iOS developer where I code only using Objective C, Swift and SwiftUI.

What made me think to code for a different platform apart from iOS ?

So like every other app developers on this planet, I too dream of building apps which gets at least minimum of 500 downloads (Still a dream though). Keeping this in mind, releasing apps only for iOS platform directly strikes out option for users with Android OS to download these apps. So we lose major target audience on Android. Now my thought was clear. I needed a framework with which I can build apps for both iOS and Android platforms.

Research:

All these years I tried few frameworks to build apps like jQuery Mobile, Ionic, ReactNative and Flutter.

Opinion:

Humble Note: This opinion is based on my experience with these frameworks. I may have failed exploring them well and concluded early. There are developers who have built wonderful apps with these technologies. The point I want to make here is with the time I get out after my office schedule.

Ionic/jQuery mobile:

One can build apps real fast especially if he/she is from a web background, easy to understand the language but main drawback is the app UI looks sluggish. The app looks more like a website than an app. This might be because I work on native iOS platform where the apps built are crisp and rich in UI.

React Native:

Apps built with React Native has almost native look and feel. Apps looks great. Though we have the concept of Hot Reload, apps take quite a bit of time to do the initial load, This adds up to overall development time. Lot of dependency on external libraries or packages. A developer working on and off on his part time projects, will end up seeing at least few packages being updated so quite a bit of time is spent updating the packages. This made me lose interest coding on React Native.

Flutter:

On the first go I got impressed. Here the language used is Dart and syntax is declarative. The app look and feel is almost close to Native. There are very minimal changes to support app on both iOS and Android platforms. No frequent major updates to flutter SDK. Large developer community for help. Tons of the UI is already available as Widgets in SDK. The hot reload is true, It reflects UI changes real quick.

Flutter is the technology which meets my requirements and I enjoy building apps with flutter. You must definitely try this out.

Below are the links for app and packages I built with flutter.

App:

iOS App

Android App

Packages:

Rounded Tabbar Widget

Mapbox Autocomplete Search Widget

Favorite Button

Also here are few links which helped me learn flutter. These are really good courses to pick up flutter.

The Complete 2021 Flutter Development Bootcamp with Dart

Flutter & Firebase: Build a Complete App for iOS & Android

Flutter & Dart - The Complete Guide

I may make mistakes too and I would love to learn from you , Beat me up in the comments section below.

Thanks for reading...