I would imagine plugins should be able to use the builder code cordova.js
uses to augment or extend namespaces in the dom:

https://github.com/apache/incubator-cordova-js/blob/master/lib/common/common.js

Builder:
https://github.com/apache/incubator-cordova-js/blob/master/lib/common/builder.js

We do need to clean this API up a bit before exposing it to the masses, but
it would be neat if a plugin module could use this to drop objects into the
dom:

var objects = { foo: { path: "myplugin/foo"};
var builder = cordova.require('cordova/builder');

builder.build(objects).into(navigator);

An awesome approach for plugin's would be to not to provide a platform, but
more of a collection of tools (a la unix) that would make it easy for them
to develop.

- cordova.require and cordova.define (they can package themselves as a
module and gateway to use our modules)
- cordova/exec (would be nice to finally refactor out the cordova/bridge
module)
- cordova/utils (toolbox stuff)
- cordova/builder (better API needed for building up dom namespaces, not
required but there to use)



On Thu, Apr 26, 2012 at 3:05 PM, Brian LeRoux <[email protected]> wrote:

> On Wed, Apr 25, 2012 at 5:29 AM, Drew Walters <[email protected]> wrote:
> > I would agree that it shouldn't be "necessary" for the addPlugin API
> > (more like addNamespace), however it was nice to have during my
> > development.  If you look at the addPlugin API you'll notice it waits
> > until DOMContentLoaded is fired so that the native browser globals
> > don't overwrite the plugin.  It then calls a modified builder module
> > which handles overriding/merging in the various properties of the
> > plugin.
>
> Seems like a docs issue more of an API surface issue to me.
>
> > Without addPlugin/mergePlugin there will certainly be repetition of
> > code and greater potential for plugins to unintentionally override
> > namespace of other plugins.
>
> could add those to util
>



-- 
Gord Tanner
Senior Developer / Code Poet
tinyHippos Inc.
@tinyhippos

Reply via email to