Desktop to Mobile - Developing for Multiple Platforms without Losing Your Mind
This is a no-brainer, right? Everyone is just doing mobile apps these days, anyway. So why is this even a talk? Well, imagine you have a desktop application. And that there are good reasons why this should be a desktop application (screen size and ability to talk to random hardware devices, for example). But your users really want a mobile app. And now you need both. And you don't want to throw away all that code. So what do you do? The Subsurface developers decided to build their desktop and mobile apps from the same code base, using QML and Kirigami to develop the mobile flavor of their Qt app. This solved many problems and opened many doors for us, but it also taught us some harsh lessons about being earlier adopters (this was the first Kirigami app outside their own example apps) and niche users of a technology: to this day I believe we are the only Kirigami app that's both in the Apple App Store and the Google Play Store, and the total number of Qt/QML based applications in both stores is miniscule. Android and iOS packaging are definitely not first class citizens and random other things for those two platforms will randomly not quite work the way you expect. The presentation will briefly touch on the why (as in: why the heck did you do that instead of writing native Java / objC apps?) and then focus on the how: How can you share most of your code between desktop and mobile, make reasonable trade-offs between functionality, and deal with the challenges of supporting Android and iOS (let alone Linux, Mac, and Windows) from the same code base.