What does HackerNews think of ladybird?

Ladybird web browser

Language: C++

A browser is not a web app, it doesn't have a strict separation of "frontend" and "backend" in the same sense that a web app would have; the lines are drawn quite differently. The rendering engine is never "just" the rendering engine; you can't abstract or swap it without tremendous effort.

If you'd like to learn more about how a web browser project would organize its internal architecture, but are discouraged by the complexity of Chromium, Firefox, etc. I'd recommend source diving Ladybird (https://github.com/SerenityOS/ladybird), NetSurf (https://www.netsurf-browser.org/), or Dillo (https://www.dillo.org/).

Great post. At the moment I'm really interested in Andreas Kling's Ladybird web browser [0], LibWeb and the videos he live streams [1] of development. It's been a long time since anyone's built a browser for fun instead of profit (don't get me started on what Mozilla has turned into). A lot of people will say it's impossible but at the start nobody imagined Linux would become what it is today. Either way it's extremely fascinating and educating for me to watch him build the thing, see how his thought process works, how he debugs it by just picking random websites and fixing whatever doesn't work, etc.

[0] https://github.com/SerenityOS/ladybird

[1] https://www.youtube.com/watch?v=k2LuvCAUvW0

The core code lives in the SerenityOS repo (which is an OS built from scratch too!):

* LibWeb (HTML, CSS, SVG, Web APIs): https://github.com/SerenityOS/serenity/tree/master/Userland/...

* LibJS (JS engine): https://github.com/SerenityOS/serenity/tree/master/Userland/...

* LibWasm (WASM interpreter): https://github.com/SerenityOS/serenity/tree/master/Userland/...

and the UI lives in https://github.com/SerenityOS/ladybird and can be built for Linux/Mac/Android.

    * Blink (Google)
    * WebKit2 (Apple and some folks, mainly WebKit2Gtk)
    * Gecko (Mozilla)

    Microsofts Trident is dead, they now use Blink.  
    Operas Presto is dead, they now use Blink.
    KDEs KHTML (the predecessor of WebKit1) is dead.  
Google is dominating, pushing through Android, all Googles-Services and Microsoft Edge. A reason to worry because Google controls the Web and the Engine. Furthermore implementing an entire new engine seems an enormous effort. For instance Microsoft only allows usage of Microsoft Teams Web with a webbrowser based upon Blink. So were back in 2002?

WebKit features also WebKit2Gtk (Epiphany) and Qt5-webkit (Otter) with native integration. Both use the native toolkits, which is an advantage! Interaction with the open-source community around WebKit seems rather good and the engine is integrated by others. Gecko seems not to be integrated by others but by forks only? You remember when Chrome was considered slick and fast? Originally Chrome used the native toolkit on every platform. Now Chrome ships an own toolkit, similar to Firefox.

And? Maybe there is a new engine on the block:

https://github.com/SerenityOS/ladybird

PS: I think the Epiphany guys doing a nice job but need more developers. The upcoming release will support Web-Extensions.

Something like Ladybird? https://github.com/SerenityOS/ladybird

I think it wants to implement all of JS eventually though.

It already can, as it currently just transpiles to C++ it just needs clang to build [1].

Even though it doesn't require SerenityOS, even SerenityOS GUI apps can be ported to run on Linux, Andreas already has ported its Ladybird Browser that wraps SerenityOS LibWeb engine in a QT App [2] to Linux, his last video shows "Abstracting the event loop so Ladybird can be fast & responsive on Linux" [3]

[1] https://github.com/SerenityOS/jakt#usage

[2] https://github.com/SerenityOS/ladybird

[3] https://youtu.be/S8lXroxngYo