There are so many ways to make mobile apps ranging from direct platform specific development (using Java and Kotlin for Android, and ObjC and Swift for iOS), there’s React Native from Facebook, Electrode Native from Walmart, the Ionic framework, Unity for certain types of apps, and the flutter.io framework which was just released by Google.
Ever wondered how these libraries and frameworks affect the size of your app? Let’s analyze some apk files for apps written in some of these ways. The apps are very basic, containing just a title at the top and a text at the center of the screen.
This will show, for a bare minimum app what these frameworks need to package along with the apk for it to be able to run.
- For this test I created four different versions of the app, one in each of Java, Kotlin, React Native, and Flutter. (Android API 27)
- The apks were then published for release type using Android Studio for Java and Kotlin and using the cli for React Native and Flutter.
- Default proguard configuration was used.
- The apks were analyzed using the Analyze APK feature in Android Studio.