(Originally Presented at AUC /dev/world/2013, October 1, Melbourne, this version updated for DroidCon India, November 28, Bangalore)
The conventional wisdom on producing applications that run on both iOS and Android says that to make the best possible experience for both platforms, you’ll need to write a completely separate application for each platform.
The conventional wisdom, of course, thinks that the only important task in mobile applications is to make a pretty UI. This ignores all the hard work that goes into writing application logic. With a bit of up-front design work, it’s possible to get your important application logic running on multiple operating systems.
This talk looks at separating application logic and UI from two separate angles. First, we look at collective knowledge about structuring modular code, with a strong focus on separation of concerns. Then we’ll look at approaches to building portable core code that runs on multiple systems, and ways to design your apps to take advantage of this — we’ll look at approaches using compiled code, in this case, using C++.