[email protected] <mailto:[email protected]>
2016 January 27 at 07:00
On your suggestion, I looked at Electron. I hate the idea of deploying a 100MB+ web browser when the user already has one (probably 3). Plus, that puts me in the position of keeping that browser component up to date. And although the documentation is pretty much non-existant, it appears that the general idea is you are going to wrap your HTML5 content inside the app, which means incremental updates are either going to be impossible, or will require a lot of very clever engineering on my end. Our content is often a couple GB, and the idea that a person in a remote location is going to have to download all of it because we updated one little thing...that would be bad.
Hmm, indeed, Electron doesn't sound like a good solution for your use case. Electron seems better suited to productivity apps—like code editors and browsers—that need deep native integration, including access to privileged APIs. And perhaps it's also better suited to apps with infrequent updates, each of which contains significant changes. Another way of looking at it is that Electron is another way to build "desktop apps with web technologies" rather than "web apps with desktop integration."

The candidate solutions I'm looking at right now are:

A. Seeing if maybe I could switch from appcache to service workers in order to get better offline reliability in chrome desktop apps (the spontaneous eviction of IndexDB data when the user's disk space get's low scares the hell out of me, though; I wonder if this is actually the reason appcache is flaky in Chrome)
This should also give you similar offline reliability in Firefox, which supports Service Workers. I'm not sure how the browsers differ in their support for data persistence, however; nor how Service Workers differs from AppCache in that regard.

I'd be curious to know which features of Open Web Apps (and Chrome Desktop Apps) are critical to your use case, i.e. why running an app in a browser tab is insufficient. An OWA provides a high-quality app icon (f.e. on the desktop on Windows), and it runs the app in its own process, in a dedicated (and mostly chromeless) window. It also supports uninstallation via the native mechanism (f.e. the Programs and Features control panel on Windows). Are all of these features essential, or is there one in particular that is important?

FWIW, Web Manifest makes it possible for us to implement a subset of these features in Firefox, albeit with shallower native integration (f.e. no native uninstall, and perhaps the app would run in the same process as Firefox, although it would run in a dedicated window). There aren't yet firm plans to implement such features, but understanding your use case better might help us along that process!

B. Making a XUL shim, and a small program that runs firefox -app <that shim>. I actually got that working, but there are a few details to work out. And I'm nervous that firefox -app will spontaneously disappear since XUL apparently isn't in fashion any more.
Indeed. I don't know of any plans to remove `firefox -app`, but I've never seen it described as a supported feature of Firefox, so I wouldn't recommend it.

-myk

_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps

Reply via email to