I'm happy adding multiple script tags. We could require plugins to be
wrapped up for AMD, instead, and just include them in the index page.

I don't think a single file makes the reproducibility any worse: you still
need to have the exact set and versions of plugins that anyone else has.

And it's not strictly a build step, that's being deliberately avoided. It's
a plugin-install-time step that comes at the end of every plugin add or rm.

Braden


On Fri, Nov 23, 2012 at 10:02 AM, Brian LeRoux <b...@brian.io> wrote:

> So, we have a build step no matter what. Currently we concat the whole go.
> When we have the many plugins world doing a fat concat is dangerous
> business for issue tracking. My cordova.js very likely won't be the same as
> yours. Moving this into a second file has the same problem.
>
> Script loaders are a touchy subject. General consensus is that browsers
> prefer AMD but I think most folks really just chuck in a bunch of script
> tags. This is not ideal, but I really feel we should not be dictating how
> ppl build their apps, and I do want to see a super slim cordova.js
> file---and leave the inclusion of plugins as an exercise for the
> developers.
>
> Now THAT said, we could encourage a sensible default in cordova-client.
>
>
> On Thu, Nov 22, 2012 at 9:18 PM, Andrew Grieve <agri...@chromium.org>
> wrote:
>
> > On Thu, Nov 22, 2012 at 3:36 PM, Gord Tanner <gtan...@gmail.com> wrote:
> >
> > > This also is feeding into some of the work we are doing with ripple.
> > >
> > > Ripple will serve up the app and host it kind of like how we do
> > > debug.phonegap.com for in browser testing.
> > >
> > > Sent from my iPhone
> > >
> > > On 2012-11-22, at 3:15 PM, Filip Maj <f...@adobe.com> wrote:
> > >
> > > > Agree with Jesse.
> > > >
> > > > Automatically adding the plugin's .js to html pages inside a www dir
> > can
> > > > be done by the cordova-client tool anyways.
> > > >
> > > > Agree this should go to vote before we proceed.
> > > >
> > > > On 11/22/12 12:13 PM, "Jesse" <purplecabb...@gmail.com> wrote:
> > > >
> > > >> I think all the refresh stuff is super cool, I will share how I
> work,
> > > >> so you can get another perspective.
> > > >> 90% of my code is written on localhost, either running directly in a
> > > >> browser to work out UI stuff.
> > > >> When I need access to actual device APIs, I simply put a redirect in
> > > >> my index.html.
> > > >> This gets me through 99% of my work, after which I can fine tune an
> > > >> individual device or functional piece in XCode, Eclipse, Visual
> > > >> Studio, et al
> > >
> > Awesome! This is the workflow we want to encourage via "cordova serve".
> >
> >
> > >  >>
> > > >> When it comes to inclusion of multiple script tags, I do not see
> this
> > > >> as a barrier at all.  This is the way the internet has always
> worked,
> > > >> and it ain't broke.
> > > >> I like the explicit declaration of having a script tag, plus you can
> > > >> have multiple pages, with different plugin requirements.  Adding an
> > > >> extra build step, + reinventing the internet inside our framework is
> > > >> madness in my opinion.
> > >
> > madness is maybe a bit of an exaggeration :)
> >
> > Our "cordova plugin add" tool already adds the necessary plugin line to
> > your config.xml / cordova.plist *and* edits your xcode project file to
> add
> > the native files. Why have the tool take care of these manual steps on
> the
> > native side, but not the HTML side? It's a pain to have to make manual
> > edits to your .html file every time you add or remove a plugin.
> >
> > I see this more as removing a step rather than adding a step. I'm not set
> > on having a single plugins-concat.js file, but it *is* what we already do
> > for our cordova.js file (we don't list each source file separately in
> this
> > case).
> >
> > From your response, it's not clear to me if you disagree with the desire
> to
> > remove this manual step in the plugin install/uninstall process, or if
> you
> > just disagree with the proposed approach of achieving this through
> > concatenating plugin JS into a single file.
> >
> > You can't have different web-pages with different plugins enabled on the
> > native side, I don't think there would be much benefit to enable this
> > use-case for just the HTML side. Do you have any example of when you'd
> want
> > this?
> >
> > Votes are fine, but consensus is much better. I don't want to move
> forward
> > with this until everyone is on board.
> >
> >
> > >  >>
> > > >> This of course does not preclude use of this technique, however, I
> > > >> feel very strongly that we should NOT be building this into our
> > > >> framework, and forcing developers to use this approach.  I think
> this
> > > >> is definitely something that we should vote on before developing
> > > >> further if the goal is inclusion in cordova.
> > > >>
> > > >> Cheers,
> > > >> Jesse
> > > >>
> > > >>
> > > >> On Thu, Nov 22, 2012 at 2:34 AM, Brian LeRoux <b...@brian.io> wrote:
> > > >>> super interesting. I like where this is going.
> > > >>>
> > > >>>
> > > >>> On Thu, Nov 22, 2012 at 3:42 AM, Andrew Grieve <
> agri...@chromium.org
> > >
> > > >>> wrote:
> > > >>>
> > > >>>> On Wed, Nov 21, 2012 at 6:37 PM, Filip Maj <f...@adobe.com> wrote:
> > > >>>>
> > > >>>>> Dude: awesome!
> > > >>>>>
> > > >>>>> My answers in-line:
> > > >>>>>
> > > >>>>>> 2. Manually adding the <script> tags to include every new plugin
> > is
> > > >>>> really
> > > >>>>>> lame. I propose a unified file, plugins.js or similar, that's
> > always
> > > >>>>>> included in the index.html. Every time you add or remove a
> plugin,
> > > >>>> the
> > > >>>>>> Javascript files for all the plugins are concatenated into this
> > > >>>> file.
> > > >>>>>> There
> > > >>>>>> are likely some problems with this approach. Inserting/removing
> > the
> > > >>>>>> <script> tags from the index page is also an option, though it
> > > >>>> requires
> > > >>>>>> more clever scripts.
> > > >>>>>
> > > >>>>> Can you elaborate more on this? I don't understand.
> > > >>>>
> > > >>>> Here's the motivating example to explain this:
> > > >>>> - Our goal for 3.0 is to have cordova be just the bridge, and to
> > have
> > > >>>> all
> > > >>>> core plugins in separate repos
> > > >>>> - Right now, when you pluginstall a plugin, you need to manually
> > edit
> > > >>>> your
> > > >>>> .html to add the .js of the plugin in a <script> tag.
> > > >>>> - This will be quite annoying to have to add ~10 <script> tags,
> (one
> > > >>>> for
> > > >>>> each core plugin, plus one for each non-core plugin you have)
> > > >>>>
> > > >>>> Here's Braden's idea explained a bit more:
> > > >>>> - Have a plugin.js file in addition to the cordova.js file
> > > >>>> - cordova.js to have the platform's bridge & init code
> > > >>>> - plugins.js to contain the concatenation of all plugin .js files
> > > >>>> - plugins.js to be regenerated whenever a plugin is added /
> removed
> > > >>>> - Apps will need to add both .js files to their html, but not need
> > to
> > > >>>> add a
> > > >>>> <script> for every plugin separately.
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>>
> > > >>>>>> 3. Setting the start page manually on every platform sucks. I
> > think
> > > >>>> this
> > > >>>>>> should be a value in config.xml that gets set on cordova build.
> > > >>>> Obviously
> > > >>>>>> that requires 1. to be fixed, but we'll get there soon.
> > > >>>>>
> > > >>>>> Yes, there is config.xml prior art for this:
> > > >>>>>
> > http://www.w3.org/TR/widgets/#the-content-element-and-its-attributes
> > > >>>>>
> > > >>>>> We should file issues to add support for this.
> > > >>>>>
> > > >>>>> Thanks for forking + contributing to cordova-client, stoked to
> see
> > > >>>> more
> > > >>>>> contributors in there! Related: once we migrate to our new git
> > repos
> > > >>>> we
> > > >>>>> should get a new one set up for cordova-client.
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> @purplecabbage
> > > >> risingj.com
> > > >
> > >
> >
>

Reply via email to