4 ms·
This is just another browser using Qt's WebEngine (uses chromium's blink underneath) lib. It would be interesting if it was an actual new engine. Alternative
by snvzz 4y ago
This is just another browser using Qt's WebEngine (uses chromium's blink underneath) lib.
It would be interesting if it was an actual new engine.
Alternative (non khtml or gecko derivative) open-source engines sorted by descending perception of liveliness include: Ladybird[0], NetSurf[1], Links[2] and Dillo[3].
0. https://github.com/SerenityOS/serenity/tree/master/Ladybird https://github.com/SerenityOS/serenity/tree/master/Ladybird
1. https://www.netsurf-browser.org/ https://www.netsurf-browser.org/
2. http://links.twibright.com/about.php http://links.twibright.com/about.php
3. https://www.dillo.org/ https://www.dillo.org/
- pipeline_peak 4y agoWriting a browser engine that supports the modern web and run on personal computers is never going to happen unless there’s some legal intervention. All the examples you’ve given are living proof. We’re at the mercy of Blink and WebKit. The latter only due to Apples iron grip on iOS browsers.
- callumprentice 4y agohttps://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/ https://awesomekling.github.io/Ladybird-a-new-cross-platform... A mammoth task but the Serenity team is making huge progress.
- quicklime 4y agoIt's not impossible, and the examples listed are living proof that it is possible. People often cite the failure of Edge/Trident - even with the resources of Microsoft, it's still impossible to compete with Google. But there's a big difference between "competing with Google and taking significant market share away from Chrome" and just "writing a browser engine that supports the modern web and runs on personal computers". The latter is definitely not impossible.
- fabrice_d 4y agoI also don't think it's impossible, but none of these engines show that it's possible either (same goes for Servo that is being revived by Igalia). None of them is usable for day-to-day browsing yet, and they are likely still in the phase where a lot of impressing progress can be made quickly. I'd be curious to see how they progress on interop tests like https://wpt.fyi/interop-2023 https://wpt.fyi/interop-2023
- paulddraper 4y agoWhich one of those examples finished? I wish them all the best, but you can't hold up some half finished project as proof of feasibility.
- userbinator 4y agoOn the other hand, is Big Browser "finished" either? When you realise that change is their weapon, and that they've been successfully convincing web developers with propaganda that the latest is the greatest, the latest features that only work in their browser, while at the same time deprecating features that existed for possibly decades before in all browsers and providing essentially equivalent functionality, you'll see the truth of the situation. It's not "embrace, extend, extinguish"; it's "embrace, extend, extend, extend, extend..."
- flangola7 4y agoThe real problem is that "the modern web" has metastasized into a bloated monstrosity of feature creep orders of magnitude larger than it ever should have reached. The internet worked on my Windows XP computer. There is scarcely little more the internet does for me today than it did then, yet somehow simply opening a modern web browser requires more memory than my entire operating system did at that time.
- jug 4y agoLadybird is so crazy. How they are accomplishing that much in this short period of time with their manpower. I mean, it’s no small feat to make a web browser render many of today’s websites. I wonder if it’s skill or a good underlying rendering architecture that allows rapid evolution like this. I’ve learnt that reinventing the wheel to “get it right” is usually a fallacy among junior devs, but I wonder how much cruft that hampers productivity accumulates in a highly complex renderer over time.
- esprehn 4y agoThere's a bunch of factors at play with LadyBird. First, kling worked on WebKit so he's familiar with browser arch already. Fun fact: the AK library in SerenityOS is basically a reimplementation of the WTF library in WebKit (though it's evolved a lot since then). :) Second, web standards have come a long way since the early days of browsers. If you read through the LadyBird code lots of it is spec language converted to code. That's a testament to the huge amount of work that's gone into web standards in the past 10 years. Third, the web is designed around the idea that not every browser supports every API and that things should mostly degrade gracefully. So lots of sites probably fall back to slower paths or feature emulation in LadyBird, or just don't render the advanced effects. That's part of the power of the web. Fourth, the LadyBird browser doesn't try very hard to be fast. Ex. getElementById is O(n): https://github.com/SerenityOS/serenity/blob/f532f9d27935f508c7a95a907ebb3a4935918e4c/Userland/Libraries/LibWeb/DOM/NonElementParentNode.h#L23 https://github.com/SerenityOS/serenity/blob/f532f9d27935f508... Similarly LibJS doesn't JIT. Lots of effort in modern browsers is about speed. Fifth, LadyBird doesn't implement a lot of the modern web. There's stubs for a bunch of APIs: https://github.com/SerenityOS/serenity/blob/f532f9d27935f508c7a95a907ebb3a4935918e4c/Userland/Libraries/LibWeb/ResizeObserver/ResizeObserver.cpp#L39 https://github.com/SerenityOS/serenity/blob/f532f9d27935f508... https://github.com/SerenityOS/serenity/blob/f532f9d27935f508c7a95a907ebb3a4935918e4c/Userland/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.cpp#L41 https://github.com/SerenityOS/serenity/blob/f532f9d27935f508... None of that is to negate how awesome SerenityOS and LadyBird are though, I'm a huge fan.
- paulddraper 4y agoNot even Microsoft could make that work. Incredibly difficult to make a real rendering engine today.
- userbinator 4y agoLargely because of the one company whose name starts with a G making it harder for anticompetitive reasons. But there's no reason to drink the Goog-Aid when the pre-churn web standards (actual standards, not the "living" crap we get today) were already plenty sufficient to create useful interactive sites.
- userbinator 4y agoJudging by the domain name I was actually expecting a text-based browser, not yet-another-WebKit/Blink-skin.
- schemescape 4y agoI kind of wish there was a spec defining a minimum set JS/web APIs, rather than just “whatever X% of visitors’ browsers support”. Like a “web core” that would actually be feasible to implement. This is not a suggestion, but something like enough to get HTMX or React rendering, plus “fetch”. What I’m getting at is a middle ground between “no JavaScript, a la Dillo” and “basically an entire OS with a million subtle security concerns”.
- schemescape 4y agoI feel weird replying to myself, but another thought: is there a database of which web features are most used across sites? Sort of like the inverse of caniuse. More like “should I implement?”
- mock-possum 4y agoSeems like a cool idea - you’d just have to figure out where to get the stats from.
- forgotmypw17 4y agoYou can check out my website, which is almost like an Acid0 test, supporting most 2.0+ browsers including Dillo and Netscape. Try the browser test under Help.
- userbinator 4y agoHTML4 + CSS2 + ES5? I believe that would be roughly equivalent to what mainstream browsers would've had around 10 years ago.
- schemescape 4y agoThat’s a good thought, although I was more thinking about something up-to-date, just smaller. I think ES5 didn’t even have “let” :) There have been a lot of improvements, in addition to the obvious bloat/creep.
- 4y ago
- niutech 4y agoThere are also: Ekioh Flow, Servo.