About two weeks ago, I spent the morning working on a new 'platform' for Cordova, using the cordova-js framework. The original goal was to build a platform that doesn't require ANY native code, so that you could use it in the browser. Since the Cordova 'APIs' have to do >something< I decided I'd have them all return errors. I called the platform 'errgen', and here's a commit to a fork of mine with the code (and various drive-by fixes as well):
https://github.com/pmuellr/incubator-cordova-js/commit/1e512d8fecdea91cf39dcb40013d154fbbe6637b Seems to me like there's a couple of interesting things here: - building a platform like this shows you what sort of internal frameworky things a platform has to do to get itself up and running; eg. a platform has to arrange to call `require('cordova/channel').onCordovaInfoReady.fire()` when `DeviceInfo` is ready. - having a platform that doesn't require any natives means you can load it in a desktop (or mobile) browser to see if you have any structural issues, and use desktop tooling like (real) Web Inspector to debug some bits. - having a platform that returns errors every time you do something would be a good way to test that your application actually handles errors correctly. Any interest in continuing this work? There's some meta-work that needs to be done; eg. decide how to handle "repeat-fire" APIs (eg, `accelerometer.watchAcceleration()`) I could also see perhaps having a platform just like 'errgen', but always returns the same static-y 'success' bits all the time. -- Patrick Mueller http://muellerware.org
