cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From J Prince <>
Subject RE: Suggestion - pluginLoader
Date Tue, 18 Jun 2013 15:55:19 GMT
I have (briefly) looked at Harmony loaders before but that is a spec for a future javascript
language version.
I have found a module loader that I wish to use (require.js).

My point is that the current suggested module definition for cordova plugins INCLUDES a loader

I am suggesting that the loader implementation be removed from the plugin to a new method
This would make the plugins cleaner (as they would only describe their own behaviour) and
it would also allow cordova or app developers to change/customize the loader implementation
as needed.

My suggested approach would result in plugins that could be loaded in multiple different ways
including (but not limited to); "classic" window.plugins, cordova.define and require.js

> From:
> To:
> Subject: RE: Suggestion - pluginLoader
> Date: Tue, 18 Jun 2013 15:08:27 +0000
> Take a look at:
> That type of extensible loader could make sense in Cordova and seems like it would meet
all your requirements.
> -----Original Message-----
> From: J Prince [] 
> Sent: Monday, June 17, 2013 7:27 AM
> To:
> Subject: RE: Suggestion - pluginLoader
> There are a few main reasons.
> 1. The app I am working on is an Enterprise app. We are designing the app as a Cordova
shell that re-directs to all the html content. This means that we have to dynamically load
a different cordova.js (depending on platform) following the redirect.
> So we are actually unable to do anything other than dynamically load plugins once the
platform specific cordova.js is loaded
> 2. Some of the plugins will be used incredibly rarely. It doesn't seem necessary to always
load plugins until they are needed.
> 3. We are building with a single page architecture so don't want to end up with lots
of script includes in the index.html page. 
> The define/require pattern feels much cleaner and better compartmentalized.
> Our main page currently has 2 script includes: require.js and jqmobi.
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message