←back to thread

403 points jaytaph | 2 comments | | HN request time: 0s | source

Last year I wrote a post about trying to make a change in the world by writing a browser.

Today, we're excited to introduce Gosub, a new open-source browser engine that we are building from the ground up in Rust!

Gosub aims to be a modern, modular, and highly flexible browser engine. While still in the early development and experimentation phase, Gosub is shaping up nicely, and we’re looking to onboard more contributors to help us bring this project to life.

Some of the key highlights:

  * Written in Rust: We're leveraging Rust's safety and performance features to create a robust and efficient engine.
  * Modular Design: The project is organized around modules, allowing for clean separation of concerns and easier collaboration. It also allows us to easily swap components based on needs and allows more freedom for engine implementers in the future.
  * Collaborative and open source: We’re building Gosub with the intention of making it approachable and open to contributions, aiming to create a project that's easier to understand and collaborate on compared to existing browsers.
Instead of writing another shell around Chromium or WebKit, we decided to write a browser engine from scratch. We believe that having a diverse landscape of engines is the only way to defeat a monoculture that is currently threatening current browsers and by extension the internet itself. We cannot and should not let a very small number of large companies dictate the future of the web and its usage.

With Gosub, we're aiming to build something more approachable that can evolve with the latest web technologies, all while being open to contributors from day one.

We’re looking for developers with or without experience in Rust. You just need to be interested in browser technologies. There are plenty of opportunities to work on core modules, document our progress, and help shape the project's direction.

We can already render simple pages, including the hackernews front page. However, to render most sites correctly, it is still a long journey, so come and join us!

Show context
johnwbyrd ◴[] No.41840616[source]
Yes, but I'm concerned about the number of existing browser engines that have fallen by the wayside, as the project founders have become exhausted. The scope of such a project is incredibly easy to underestimate, and it has only ever gotten larger.

Some examples: https://www.reddit.com/r/browsers/comments/124kphe/what_do_y...

replies(4): >>41840663 #>>41840787 #>>41840862 #>>41840901 #
mjrpes ◴[] No.41840862[source]
All I have to do is stumble upon a heated 100+ post discussion on the implementation details of an arcane feature of CSS to understand how mammoth an undertaking it must be to develop a fully compatible browser engine.
replies(1): >>41841281 #
diggan ◴[] No.41841281[source]
> develop a fully compatible browser engine

Do we need more "fully compatible" engines? I could imagine there are use cases for browser engines that work with just parts of the specification, particularly the most common ones used in the wild.

replies(2): >>41841473 #>>41841569 #
pests ◴[] No.41841473[source]
Just as a data point, the YouTube app on most TVs and devices is a stripped down browser only supporting exactly the HTML/CSS/JS needed to run the big picture client.

By tighter integration with the final product, the browser can provide specialized elements or APIs to simplify the actual application code.

I think it's used a few other places as well.

replies(1): >>41842461 #
1. madeofpalk ◴[] No.41842461[source]
Most smart tv apps are just web apps. YouTube isn’t particularly unique in that regard.

Even the old pre-tvOS Apple TV apps were kinda web apps - XML and JavaScript delivered over HTTP

replies(1): >>41842816 #
2. pests ◴[] No.41842816[source]
I do agree TV apps are mostly web apps, but most of them did not run in a browser that was specifically designed for that single app.