4 ms·
Because every browser has different plugins and their concept tends to change every few years, for good (security) or bad (politics) reasons. Once VLC.js runs,
by fridek 10y ago
Because every browser has different plugins and their concept tends to change every few years, for good (security) or bad (politics) reasons. Once VLC.js runs, you can reasonably expect it to run forever and be just another compilation target.
- throwanem 10y agoExactly. For example, Mozilla is deprecating NPAPI just as fast as it can, because it long predates e10s (Chrome-style process isolation) and they do not play well together. e10s has been so long delayed already, and Firefox's performance problems are so intractable to solve without it, that from the perspective of a very long-time Firefox user like me this is very obviously the correct course of action. This deprecation will break the existing VLC plugin for Firefox, but that's not a huge deal because it never has worked very well in any case - developing a reliable NPAPI plugin is a seriously hard problem in general and has been since browsers got complicated enough to do interesting things in the first place. You also have to restart the browser to make any changes to the set of installed NPAPI plugins, and that's a lot more of a problem than it was before the browser became an application runtime. Now that the JS runtime is fast and capable enough to run "real application" code, we derive a much better experience by leveraging that power than we do by targeting a legacy interface that is relatively ill documented and much easier to get wrong in ways that break the whole browser rather than just one page or tab. We also get cross-browser compatibility of a sort that NPAPI never could offer. I get that a lot of people think it's weird for the web browser's page scripting language, which was nothing more than a cute toy a couple decades ago, to be eating the world like this. I think it's weird, and it's how I earn a living! But, weird or not, it's also the best application platform we have or likely soon will have for a broad and widening variety of use cases, and that is because, while no more perfect than anything else, it actually works really well. Railing bitterly against technology that works really well seems potentially counterproductive to me. But I appreciate there exists a diversity of opinion on the subject.
- acqq 10y ago> Once VLC.js runs, you can reasonably expect it to run forever You can reasonably expect it to run... until the first non-backward compatible change in anything the code depends on. The major assumption for this to keep working is that everything has to be permanently kept up-to-date for all the breaking dependencies. And I assume it will always be easier to produce a Linux or Windows binary that works relatively long without changes than anything that non-trivially depends on the web technologies. A few years ago, as far as I know, it was still possible to run the Netscape Navigator binary which was around 20 years old on the recent Linux kernel.