Qbrt – Cross-platform HTML/JS desktop apps using the Firefox Gecko runtime
mykzilla.org
mykzilla.org
This doesn't sound so good, and is the opposite of what I think people have come to expect. It's seems like the most straightforward solution is to hardcode a specific version of the runtime into the package, so that installing qbrt XX.0.0 gets you the runtime that corresponds to Firefox version XX.
A runtime that can't run the app it's supposed to (because of breaking changes across runtime versions) is also not a very useful runtime, shared or not.
Is Gecko better than Chromium in certain cases?
Yes, in certain cases. However, I don't think it's worth another flame war about this. Even if I posted some benchmarks all you'd have is a stream of people sharing their anecdata trying to confirm or deny the accuracy of the benchmarks. Can we nip this in the bud before it begins and just be glad that Electron has some competition to help push it forward?
Firefox's latest build made significant RAM usage improvements [1], leapfrogging Chrome when it came to multiple tabs.
[1][http://www.techradar.com/news/firefoxs-blazing-speed-with-hu...]
You have the base virtual machine installed, and then the app just needs to ship the code itself.
You could even ship with an "install script header", like "if this isn't installed, offer to download and install it". I imagine a lot of us have seen these kinds of installers before.
For example, if there were a Debian package for either of those, all apps leveraging them would just declare that same package a dependency and you'd have a single system-wide install for the large binary everyone keeps complaining about. (AFAICT there is no such deb package for any of the above.)
The JVM (and apparently qbrt) is designed to be shared, apps are expected to use the installed system version of the VM, though if the packager wants they can include a specific version to use.
I wish it were easy/possible to get Electron apps to share things, it bothers me that Chrome, Discord, and Slack almost certainly could share most of their hundreds of megabytes.
https://www.npmjs.com/package/nwjs
and electron:
It's not completely bonkers. It could be possible to make a web installer that checks for node and electron and downloads them if necessary. Nobody seems to do that though. Every electron app bundles electron. At least every one I've seen
That plus scarring from browser differences over N years.
Of course it's still totally possible, but there are probably gotchas that aren't obvious if you're mainly a web developer.
You keep saying this. It's not mentioned in the post, and it doesn't match how qbrt is actually doing things. Where are you seeing it?
Edit: Electron really needs a competitor/alternative
Myk wrote about taht as well: https://mykzilla.org/2017/03/08/positron-discontinued/
I used it to port a frontend for an application that requires multiple toplevel windows and found its API way easier for that particular problem.
Edit: also a rather informative statement by the author on the relationship between nw.js (which used to be node-webkit) and Electron:
https://groups.google.com/forum/#!topic/nwjs-general/LIrC7zH...
http://sciter.com - single dll/so of 5mb - embeddable HTML/CSS engine designed specifically for running desktop UIs.
You cannot find much about it, because it was an IE 6.0 based technology, when "Electron apps" were the IE ActiveX engine bundled as .exe.
There are two sides to this migration. The main Firefox UI is being rewritten (how much of XUL remains after this rewrite is unclear), and extensions developed in XUL are being dropped.
https://www.neowin.net/news/mozilla-is-working-on-a-new-ui-f...
https://blog.mozilla.org/addons/2017/02/16/the-road-to-firef...
This deprecation of XUL extensions could prove problematic for Thunderbird, as it means that Mozilla can now move a lot faster and make breaking changes without having to worry about mass-breakages in extensions, therefore making it more likely that they'll leave Thunderbird behind at some point, but XUL itself isn't yet being deprecated.
There are some long-long-term plans to maybe eventually replace XUL with HTML/CSS/JS, but they need much better performance still before that becomes viable. There are some efforts into that direction already[0], building a framework for it as well, and those mostly focus around Servo, as that will have the necessary performance, so I'd guess at least a couple of years still.