Just a quick note, the RIM guys have talked in passing (nothing official - just what I have heard on the interwebz) about actually converting BB WebWorks to more of a (current) cordova implementation, re: single extension for everything. So in terms of being "more compliant" to what WebWorks recommends, what we're doing currently, as far as I understand, may actually be better. Heh.
Perhaps Gord/Dan/Ken/Laurent can comment on that in more detail and more authority than I can. On 4/18/12 1:58 PM, "Drew Walters" <[email protected]> wrote: >I've been experimenting with what it would look like for Cordova >BlackBerry to be modified such that all the API are separated out into >plugins. For those that want to cut to the chase, here's my repo: > >https://github.com/deedubbu/cordova-blackberry-pluggable > >This repo is a representation of what the binary download would be for >the end user and is not a fork of either cordova-js or >cordova-blackberry-webworks. Without being able to see the change >history it might be difficult to tell what I've done so I'll provide >some high level details here: > >1. Separated the native code and associated JavaScript into >independent WebWorks extensions. Previously there was only a single >extension. This allows us to make use of the BlackBerry WebWorks >framework build/config tools which handle packaging up only the >necessary code when building an app. >2. All Cordova JavaScript is injected from the native side. No need to >include cordova.js in your application, all the Cordova JavaScript is >loaded before the applications pages load. >3. WebWorks Extension API is hidden behind the existing Cordova Plugin >interface. Plugin developer doesn't really need to know that they are >developing a WebWorks extension. The only new interface requirement >for a plugin is to invoke a new constructor. >4. JavaScript API are defined as modules (no change) and can >additionally call cordova.addPlugin(...) or cordova.mergePlugin(...) >to override/merge global namespace. >5. Installation of Cordova is a simple matter of copying a folder to >the WebWorks SDK ext folder. >6. Installation of a Cordova plugin is a simple matter of copying a >folder to the WebWorks SDK ext folder. >7. Enabling a Cordova plugin requires specifying the feature id in >projects config.xml. plugins.xml is not used. > >Ok, that's a quick brain dump. The README contains a few more details. >I plan on eventually pushing branches to my forks for cordova-js and >cordova-blackberry-webworks which will show the actual code changes.
