I was wondering about this at a technical level. I was given to understand that iOS apps could only be built on Mac OS X because you needed the toolchain that is bundled with Mac OS X and XCode.
So does anyone know how Sencha’s app builder can build a native app on Windows too? And how come no one else has done it before?
(This info is without looking deeper into Sencha’s packaging mechanism)
An .app file is represents a bundle, which is essentially a folder with some files and .plist property file. The bundle also contains an executable, which in Sencha’s case is likely always the same. The only purpose of this executable would be to kick off a UIWebView to display your app’s main view. Beyond that, all programming you do with Sencha is standard web programming. Native API access from this application likely uses a clever URL-based trick (just like PhoneGap):
As there is zero compilation needed, the XCode compilers are not required. The only part of the process I can think of requiring a Mac is creating the bundle code signature. Again, without looking under the hood of Sencha Tools, it is possible that this process has been reverse-engineered.