You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Dan Polivy <da...@cellartracker.com> on 2019/03/29 00:04:31 UTC

browserify support

Hello,

I realize I'm a little late to the party, but I've just read the release notes for cordova 9, and am dismayed to find that browserify support was removed. I've been relying on this for the past many years, as our app is "remotely hosted", so I'm loading cordova.js (and all the plugin js) over the internet. The addition of browserify was a huge benefit for this situation, allowing us to build just a single JS bundle to deploy and serve. I still use it regularly and have had no issues with the feature.

Was there a discussion on removing this? Are there any plans to just bake in support by default, instead of hiding it behind an option? Any possibility of bringing it back?

Thanks,
Dan


Re: browserify support

Posted by Jesse <pu...@gmail.com>.
Hi Dan,

The problems with browserify is the level of complexity it brings to the
tooling/build process.  Browserify needs to transipile different source
files for each platform, because each platform has it's own exec/bridge to
native.  This means extra source files need to be copied along with every
project's platform because we also need to be aware of versions.

Ultimately the fact that the functionality lived behind a flag meant that
it went mostly unused, and it is hard to flip the switch to make it the
default, when it has not seen enough usage to be proven.  The reason it was
added in the first place was to battle some FUD around load time, it was
thought that because browserify yeilds 1 file, it would load faster. In a
cordova app where the source files are all present, the load time from the
file system is negligible.  My tests showed an average 30-50 ms load time
improvement when 50 plugins were loaded, which in my mind is not worth the
added complexity and the latent bugs that are in there.  Last count I saw
some 20+ forks in code around if(browserify) ...

All of that said, your case is different.  Given that you are loading from
a server, you can do whatever you want ... you can
webpack/parcel/browserify the whole thing, you just need to be sure of
serving the right cordova-exec to the right platform, and make sure the
plugins match the native plugins.

Cheers,
  Jesse

@purplecabbage
risingj.com


On Thu, Mar 28, 2019 at 5:19 PM Dan Polivy <da...@cellartracker.com> wrote:

> Hello,
>
> I realize I'm a little late to the party, but I've just read the release
> notes for cordova 9, and am dismayed to find that browserify support was
> removed. I've been relying on this for the past many years, as our app is
> "remotely hosted", so I'm loading cordova.js (and all the plugin js) over
> the internet. The addition of browserify was a huge benefit for this
> situation, allowing us to build just a single JS bundle to deploy and
> serve. I still use it regularly and have had no issues with the feature.
>
> Was there a discussion on removing this? Are there any plans to just bake
> in support by default, instead of hiding it behind an option? Any
> possibility of bringing it back?
>
> Thanks,
> Dan
>
>