I tried Servo, the undercover web browser engine made with Rust

submitted by

www.spacebar.news/servo-undercover-web-browser-…

18
136

Log in to comment

18 Comments

How I imagine this browser engine works.

Oh God please let something related to it be called crow

Can't wait for the year of the servo!

All will be rust!

Firefox is already made in rust though. only sorts it seems. They were founding members though that's the part I remembered.

Yeah, some Rust code from Servo was integrated a few years ago as the article explains, mainly the CSS engine.

Well Mozilla was a founding member of the Rust foundation. They're just not a platinum member.

Another competitor web engine is Ladybird. You might want to take a look at that as well.

Nice, I'll add that to the to-do list.

Ay idea when will it be ready for daily use?

how long is a piece of string?

sorry. browsers are insanely complex pieces of software. like, operating system level. the standard has grown enough that the web is it's own platform. so your definition of "daily use" is what is important; servo can open web pages, render html and css, and store cookies. it can also do some javascript. that's enough to deal with like 80% of all websites ever written... but not the ones non-technical people use like facebook and twitter.

there's also the matter of what features you actually require: tabs were not a standard feature for the first fifteen or so years of the web. search in the url bar was seen as an antipattern at first and wasn't included. credential storage (like password autofill) wasn't added until like 20 years in.

how long is a piece of string?

Twelvety.

Pfft, that's nothing! My strings is twelvety three

like, operating system level. the standard has grown enough that the web is it’s own platform.

Which is why I hate it. It both muddies and replaces the real (hypertext linked documents available globally) web and by itself is more complex than it needs to be, and inconvenient for screen readers, robots, Braille terminals and such.

For cross-platform applications server over Web - Java Web Start was a good idea, just far too early introduced and it was slow. And it should be run in a sandbox.

I'm serious, that's exactly what Java is intended for, designed, not evolved. From the beginning. Evolution is good when it's been many thousands of years and you reap the results. Evolution is not good for something that's engineered. A wooden bridge unattended "evolves" towards falling apart, despite all the moss covering it making it seem firmer.

search in the url bar was seen as an antipattern at first and wasn’t included.

It still is an antipattern. Guessing machines are not good.

Not yet but at least it can display something!! I always read that it was a monumental effort to build one and now we have something.

Comments from other communities

yeah I'm glad servo exists, but its far from ready for prime time.

What's crazy is what a monumental undertaking implementing a web browser is now. Would love to see someone propose a new standard to replace html-css-js but distilled down to a radically simplified essence, dropping the accumulated cruft of decades, applying lessons learned. Ideally would be something that could be implemented by a few devs over months rather than requiring a team of hundreds over a decade.

That's pretty much https://en.wikipedia.org/wiki/Gemini_(protocol). You can explore it through an HTTP proxy like this: https://portal.mozz.us/

The Gemini Protocol does a good job at being a minimal alternative, but it's quite limited in what is capable. It'll never be adequate for banking or video games.

Social media and reddit alternatives? No problem.

It is crazy. And maybe it could be distilled down, but maybe because of what it's become and how it's used, that's just not an option anymore. The context is that the "web" that browsers are browsing has grown from mere rich text and links into basically a fully networked and distributed operating system. There are entire software suites that exist only through web protocols now. Literally anything you used to be able to do on a Desktop OS you can now do directly on the web, often at very close to bare metal performance levels. And over the years and decades the standards have evolved to not just enable that anymore but to actually require that level of functionality. It has become completely expected to have javascript APIs allowing extensive and instantaneous DOM manipulation, HTML5 canvas and storage, WebSocket and WebGL available, they're not just "optional addons" you can pull in with an extension or that a text based browser might not bother to implement, they're a core part of the web and very little will be functional without them.

So when you're building a "modern" web browser what you're effectively really doing is implementing an entire cross-platform OS, sandboxed and virtualized for security within any host OS you choose to support.

Of course technically "the web" is still backwards compatible with the old pure HTML, no javascript, no CSS, web 1.0. There's nothing stopping anyone from writing such a simple site today, and those websites are still out there. And that's still sort of where you have to start with projects like Servo, because that's just the basic level of absolute minimum functionality. But it's taken a long time to build all the features of the modern web and so of course it's going to take a long time for a new browser engine to implement all of them or even enough of them to actually start supporting the most commonly used websites.

While there are definitely a lot of quirks related to handling old sites and the various inconsistencies and incompatibilities that developed over the years, I don't think that's the real sticking point on developing a new web engine at this point. I think the issue is simply the fact that the web does so much and is such a comprehensive technology platform, and if you tried to simplify it, to make it easier to develop browsers, you would lose a lot of actually important functionality for developing websites that allow them to do the things they are doing today. Granted some of those things I wouldn't mind losing either, but a lot of them are legitimately required for what we do with the web now and what we expect it to be able to do.

There are gopher browsers that allow you to visit an alternative, more simple "web"

It would be neat if this ends up usurping Gecko - since it originated from Mozilla and would be ironic, but also because it potentially has a lot of lessons learned from decades of web browsers, and is obviously pretty fast and safe due to Rust.

I'm not under the impression that a web browser is a simple thing to build but with Linux advancing the way it has in recent years it continues to surprise me that the "best" browser out there isn't FOSS.

Hopefully that is about to change!

All major browser engines are FOSS.

Chrome and Edge are proprietary wrappers around Chromium (BSD license). Firefox and derivatives are FOSS (Mozilla Public License). Safari is built around WebKit (LGPL/BSD).

The problem, however, is governance. These projects are all too big for anyone to realistically fork and maintain independently. So in practice, they are under control of Google, Mozilla, and Apple — all of which have questionable priorities (especially Google).

Chrome is mostly open-source software, Chromium builds are just missing Google data sync, some video DRM, and other proprietary components. I believe Firefox is completely FOSS.

I believe Firefox is completely FOSS.

Looks like it is! I was under the apparently false impression that it was only partly.

A lot of internet denizens go out of their way to highlight every misstep firefox has like it is fatal and downplay all of it's positives, even to the point of suggesting the usage of chromium derivitives.

I hate to admit sometimes that the Chrome experience (especially on mobile) can be a lot smoother and quicker to load, but Firefox wins every time on extensibility. But to your point yes the hate directed Firefox's way can be well, a bit much.

Even if I ignored everything about the entire ecosystem, just the fact I can use ublock origin in firefox mobile is reason enough to choose it over chrome

Why would it? FOSS doesn't have the funding that commercial software does.

Well, because FOSS apps are usually the best/most user friendly option even if they're not always the most popular. If you woke up after a 30 year coma and had no prior commitments to using any particular software, there would be absolutely zero question that Linux is the best OS today.

An OS is a complicated thing, yet the FOSS option is the safest, most user friendly, and most versatile. I'm just a little surprised there isn't a browser that checks those boxes too, since the browser is a widely used thing. But I'm guessing because Firefox exists the number of devs willing to give the time investment just isn't as many.

most user friendly? cough cough.
I doubt. for this - as in works as is - the journey is still long.

From someone waking up from a coma without experience with Windows or MacOS, Linux truly is the most user friendly. It may not have been true five years ago but in my mind it is without question true now.

Finally a new web rendering engine that isn't complete shit

We absolutely and desperately need an open and free browser engine, yesterday. Seeing where Google, Apple, and Mozilla are heading makes me fear for the future of the Internet.

https://github.com/LadybirdBrowser/ladybird

Ladybird!

There's an interesting talk by the founder: https://youtu.be/9YM7pDMLvr4

YES! LADYBIRD!!! I am waiting for YOU!

OMG, I am starting to be too hopeful about the future. Someone tell me something depressing, quick!

I'm all for switching when you can get a browser using Servo with u-block on top.

Insert image