Ashley I dont see Construct2 building out the final apps... outputting APK or IPK. That would be a nightmare on your end and as you said, plenty of services do that already. I think Phone Gap build or other platforms should specialize and be used for that as they do now.
What I thought we were talking about the while time., and what I am most interested in, is having Cordova core APIs integrated within Construct as platform plugins, to enable devs to better utilize the hardware and common OS features of mobile devices, which is specially what many of the CranberryGame plugins provide.
Cordova already has a solid and stable release cycle and its easy to target specific versions in a build. This means adding a build target to Construct of a specific PhoneGap/Cordova version. This results in an HTML project output as Construct already does, with the extra Javascript files and an XML config for Cordova.
By targeting PhoneGap/Cordova for output, Construct would output a complete Cordova project ready for submission to PhoneGap build or self compilation or any other compatible build service.
If Construct would integrate even a few core mobile functions as built in plugins, it would truly be amazing. Take a look here at the cross platform goodness for Android, Windows and iOS mobile. http://docs.phonegap.com/plugin-apis/
I am talking about Cordova/PhoneGap's unified cross platform API to do a lot of these things on all platforms with the same code base:
- Use mobile camera
- Receive push notifications
- Access device storage
- Hardware buttons
- Geolocation
- Vibration
- Dialogs
I don't think Scirra targeting the core PhoneGap API is any different than targeting the Node API. Its an established ecosystem that is stable and very well documented, supported and versioned. The hardest part would be developing the Construct plugins for the GUI, which is what cranberrygame has done to some extent, and this is what I have been rooting for in this thread.
If this was implemented, this is how I imagine that it might work in Construct:
I can insert a new Platform Specific objects into my Construct project, lets say "PhoneGap Vibrate" which activates new actions and events similar to the way the Touch object works. I can then use Construct's system to trigger a vibration.
Or maybe I can add a PhoneGap Listen Notification object. Then I can add events for On Notification Receive.
Or maybe I can add a PhoneGap Send Notification object. Then I can add trigger a local notification.
Or can add an object PhoneGap Camera and then acquire images from front or rear camera similar to the current user media system.
Or a PhoneGap system plugin can allow me to read battery stats, network state, etc.
Or a PhoneGap share plugin can allow me to use the mobile OS social/sharing tools
Then I output from Construct out to my Cordova/PhoneGap target, and I now have a folder with a full HTML5 build with some extra plugins and XML thats ready to go. (Instead of going crazy fiddling with the output and trying to integrate these ourselves after the fact, as we do now before building for mobile).
Next, since Cordova is basically an industry standard, I can do the final Cordova compile myself with the free tools on my system. Or I can upload the Construct output as is to one of many Cordova compatible build services such as:
- PhoneGap build (my personal choice since I pay for adobe anyway)
- Telerik Appbuilder
- Crosswalk
- ApplicationCraft build service
Does this make sense? What do you think? Is there hope?