Ever since Google demo'd Instant Apps at IO this month, we've been intrigued by the possibilities of this technology and curious whether it could work on iOS. Many people have told us that this would be difficult or even impossible, but with some knowledge of react native hot-reloading, we were convinced that this was not only possible, but also the perfect project for a16z.
What it does
Based on the user's context, such as GPS location, OneApp prompts the user about apps that could be useful and allows the user to use them immediately. OneApp grabs the relevant app from a server, compiles the code and sends the result directly to the user's phone. Theoretically, OneApp could process any React Native app in this way.
How we built it
We modified React Native by intercepting communication to its server and inserting our own code. We also built a number of modules.
Challenges we ran into
Hacking a framework like React Native is difficult. You can very easily get deeply lost in some stack trace which will not give you the functionality that you want.
Accomplishments that we're proud of
Building something said to be impossible! We managed to get Twitch working in some degree. Our entire a16z hack last year was Twitch for mobile phones, and we can get similar functionality, and much more, with OneApp.