Creating Flutter Apps from Native Android Apps

Yoonsik Cheon, University of Texas at El Paso
Carlos Chavez, University of Texas at El Paso

Technical Report: UTEP-CS-20-95


Flutter is a development framework for building applications for mobile, web, and desktop platforms from a single codebase. Since its first official release by Google in less than a couple of years ago, it is gaining so much popularity among mobile application developers, even being regarded as a game-changer. There are, however, millions of existing native apps in use that meet the requirements of a particular operating system by using its SDK. Thus, one natural question to ask is about rewriting an existing native app in Flutter. In this paper, we look at the technical side of the above question by considering Android apps written in Java. We create a Flutter version of our existing Android app written in Java to support both Android and iOS by rewriting the entire app in Flutter. We share our development experience by discussing technical issues, problems, and challenges associated with such rewriting effort. We describe our approach as well as the lessons that we learned.