For my final year project I decided to attempt something that I thought would be really hard and really push the limits of what I thought I could do. Early in university, we were forced to use an application known as App inventor to create an app which met certain guidelines. As I was doing this, I began to see the potential in this web format of app design.
Only one problem. I don’t have any servers. I decided to add the extra limitation of doing all the compiling of the APK on the client side. Needless to say, this was a tall ask and I immediately realised that I couldn’t do anything as complex as fully compile an apk in browser, so I instead build the file before hand, had the user download it and then swapped out a file containing the information on how to build the interface. (named qasav in this diagram)
To build what I call, the “template apk”, I decided to use Flutter as it had the benefit of being compilable to the web as well meaning the user could try out their apps without even using their phone. This also allowed me to use lua which solved the functionality part of the problem.
If you want much, much more detail on this feel free to read the design and implementation section of my dissertation. (My uni made us split our dissertations into 4 parts for some reason).
And heres a Gource video of me working on it because Gource is fun: