Choosing a Mobile App Framework

September 28th, 2020 By Alex Hu

main

There are quite a few choices for create a mobile app. As a learning project, it is important to pick something new that I can give it a fair workout.

Mobile App Frameworks

1. Android with Kotlin

Since I already have experience with Android app with Kotlin using the ExoPlayer library, there is no need to go down this path.

2. React Native

React Native is probably the most logical choice, and you can pick from React Native CLI or Expo CLI. Given that I already have a few years on React, it would be good to pick something new to try out.

3. Flutter with Dart

Flutter vs Native Android explained the pros and cons quite well.

Flutter Crash Course for Beginners 2020 - Build a Flutter App with Google's Flutter & Dart gave a good introduction of it. It reminded me of Adobe ActionScript and MXML which I spent the last 2 years at work converting the end-of-life technology into React.js.

Another consideration is Jet Compose which offer similar way to build UI but with a much gradule migration path as you can add Compose to existing app quite easily. In fact, I will build new fragments with Compose.

4. Ionic Framework with Angular

I finally decided on using the Ionic Framework with Angular. Angular, being one of the big 3 UI frameworks, is a good skill to pick up. Being able to build an iOS / Android / PWA / Desktop app using the Ionic Framework is a big plus.

  • Angular - Angular is an application design framework and development platform for creating efficient and sophisticated single-page apps.

  • Ionic Framework - Ionic Framework is is an open source mobile UI toolkit for building high quality, cross-platform native and web app experiences. Move faster with a single codebase, running everywhere.

  • Ionic Angular - Ionic Angular combines the core Ionic experience with the tooling and APIs that are tailored to Angular Developers.