The case for an embeddable Gecko
chrislord.net
chrislord.net
If you want 100% native modern browser on the Mac desktop today you’re stuck with Safari. The Mac version of Firefox has always felt somewhat like a kludge. Chrome is closer, but it opts to do its own UI drawing, text editing, spellchecking, etc instead of using Cocoa-provided facilities which is likely at least partially responsible for it being less battery-friendly than Safari.
It’s my personal opinion that web engines should take a “webkit” stance in regards to interoperability; they should be UI-agnostic at their core and offer rich plain C APIs for any language and UI toolkit combination to easily bolt onto. A developer shouldn’t be forced into using any particular technology to take advantage of something so versatile and ubiquitous as a web rendering engine — this is the chief reason I dislike Chromium/Electron/Node-WebKit: they mandate how I write my UI and what it’s written in, which (to me) is highly unappealing.
I also imagine Mozilla's legacy will live on in Servo after Firefox has lost its remaining market share.
> The fact that it's an order of magnitude faster than all
> other rendering engines can't hurt, either.
For some recent citations on this, check the first half hour of https://air.mozilla.org/bay-area-rust-meetup-february-2016/ > There is essentially no webpage out there that it cannot
> get through at multiple hundreds of frames-per-secondIf a Servo browser UI ever happens (one prospect is https://github.com/mozilla/browser.html/), it would probably be developed separately, with a minimal API surface between the two. (At least, I hope so)
So in the meantime it would still be interesting to get a nice embedding for Gecko. I like the Electron approach a lot, and this looks like a moderate size effort to bring something like that to Gecko.
Would it run faster? Would it be more compatible? Is it more familiar to Devs? Is the code base easier to understand?
At least with Servo the answer to some of those questions would be a definite yes.
Heck, I'd say even making it easily embeddable before feature complete would still get adopters due to app devs knowing what they need to support unlike the open web. Granted I cannot really put my money/skills where my mouth is here so it's just wishful thinking on my part. I am not familiar w/ where Servo stands on the embedding front today, I have not looked in a while.
As far as the embedding story is concerned we do support the CEF API (if you need something more there, please file an issue and we'll look into it), and we do want to eventually make it into a webview-esque thing which you can embed in Android and elsewhere.
It's a bit like Google and their appliance. It's better to have a vertical product with no leaf and build on top like they tried with FirefoxOS.
Funny, the number of "labs" projects mozilla undertakes and eventually abandons doesn't suggest such a thing.
It uses custom APIs to embedd Gecko with Qt : https://github.com/tmeshkova/qtmozembed https://github.com/tmeshkova/embedlite-components https://github.com/tmeshkova/gecko-dev
Spending time on this is a waste of Mozilla's resources. The real competitor is clearly Servo (once it actually works with real pages than just Wikipedia and GitHub) because it is actually faster and is not legacy software that barely works.
Did you create a new user account just to spew that shit?
https://mo.github.io/2015/11/04/browser-engines-active-devel...
He focuses on Gecko here because Mozilla's relationship with it is something that will continue for some time.