John Gruber of Daringfireball.net recently wrote about the problem of so many iOS apps being over 100MB in size, which means they cannot be updated over a cellular connection. It really stinks to be forced to wait until you can get on WiFi just to update an app. And it can be especially bad if you really depend on the app.
Yesterday he mentioned that a big part of the problem is that apps written in Swift (and some other tools) end up bundling in a lot of standard libraries and developers don’t take the time to consider the ways in which they can trim their overweight apps down to size before shipping updates.
But you don’t have to be knowledgable about the many techniques you will need to trim your iOS apps. There is simpler solution to this problem: write your iOS apps in Xojo.
When building the default iOS project in Xojo with a single view (basically “Hello World”), you get an app that weighs in at only 4.7MB. I’ve personally built an app – it’s a database front-end that uses HTTP for communications with a server – with 10 views, over 20 classes and modules and 30 sets of app icons. The built app increased to only 9.4MB.
Xojo does dead code stripping so any code you import that your project doesn’t use won’t be included. It also uses LLVM, the same optimizing compiler that Xcode uses. Xojo uses native controls as well and of course there’s the minor side benefit of being able to use the same language and IDE to build desktop and console apps for macOS, Windows and Linux as well as web and Raspberry Pi apps too.
Xojo is not the ideal solution for every type of iOS app. It is great for many apps including database front-ends but also social media apps that are the most egregious examples of these obese apps.