incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Mueller <pmue...@gmail.com>
Subject platform 'errgen'
Date Mon, 12 Mar 2012 13:58:14 GMT
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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message