Live data from Hacker News

Verso – Web browser built on top of the Servo web engine

github.com

131–140 of 343 posts

Re: Verso – Web browser built on top of the Servo web engine

#131

Earlier quoted context omitted.

You're right but this touches the hot stove. HN majority doesn't like hearing that ladybird et al might just be wandering around, even if the goal is catnip for the bleachers, and we should be skeptical this is the year of multiplatform Swift, because it wasn't last year if you actually tried it. Or the year before last. Or the year before that. Or the year before that year. Or the year before that one.

I’m slightly more ambivalent than you about it. Swift is a nice language and has better ergonomics than C++ and I imagine a Swift codebase might find more contributors than a C++ one (maybe I’m wrong about that!) I also think it’s separate from the dream of “multiplatform Swift”. For that you need a healthy package ecosystem that all works cross platform, Swift doesn’t have that. But a lot of Ladybird is written at a…

Problem is Swift engineer supply is low, there's not a viable business case to learn Swift because it's not actually viable cross-platform for development unless you have $X00 million to throw at your macOS/iOS team to build it from scratch, platform by platform (to wit, sibling comment re: Arc Browser)

So best case we're looking at: Swift isn't ready yet, the next major version will be, and we can't build UI with it, so we'll put in the effort in to bootstrap a cross-platform ecosystem and UI frameworks. Or maybe we'll just do our business logic in it? It's a confusing mess that is irrational. Even with great blessings of resources. ex. $X00M that Arc has obtained one incremental platform after a year. And "all" they had to do was Swift bindings for WinRT and connect it to the existing C++ engine.

All of this is easy to justify if we treat it as an opportunity to shoot for how we wish software could work in theory, instead of practice. I hope I'm wrong but after being right the last few years, I'm willing to say it's naive wishcasting out loud, even though its boorish. I see it as unfortunately necessary, a younger me would be greatly misled by the conversations about it on HN. "We've decided to write the browser in Swift!" approaches parody levels of irresponsible resource management and is a case study in several solo engineer delusions that I also fall victim to.

It's genuinely impossible for me to imagine anyone in my social circle of Apple devs, going back to 2007, who would think writing a browser engine in Swift is a good idea. I love Swift, used it since pre-1.0, immediately started shipping it after release, and that was the right decision. However, even given infinite resources and time, it is a poor fit for a browser engine, and an odd masochistic choice for cross-platform UI.

Re: Verso – Web browser built on top of the Servo web engine

#132
post #84

Earlier quoted context omitted.

You can compare Servo and Ladybird results on wpt tests here: https://staging.wpt.fyi/results/?product=servo&product=ladyb...

Oh thanks. Seems like Servo is way ahead of LadyBird

Which isn't that surprising given it has been underway for much longer, and as built with people with actual browser engine experience.

Ladybird isn't that bad in comparison.

Re: Verso – Web browser built on top of the Servo web engine

#133

Earlier quoted context omitted.

You're right but this touches the hot stove. HN majority doesn't like hearing that ladybird et al might just be wandering around, even if the goal is catnip for the bleachers, and we should be skeptical this is the year of multiplatform Swift, because it wasn't last year if you actually tried it. Or the year before last. Or the year before that. Or the year before that year. Or the year before that one.

I’m slightly more ambivalent than you about it. Swift is a nice language and has better ergonomics than C++ and I imagine a Swift codebase might find more contributors than a C++ one (maybe I’m wrong about that!) I also think it’s separate from the dream of “multiplatform Swift”. For that you need a healthy package ecosystem that all works cross platform, Swift doesn’t have that. But a lot of Ladybird is written at a…

I wonder what convinced Andreas Kling to abandon his own language Jakt [1] in favour of Swift.

In the long run, it would be good to have high-level languages other than Java that have garbage collection (at least optionally) and classes, and that are still capable of doing cross-platform system development. I don't know if Swift fits that bill, besides cross-platform ecosystem (a la Java), submitting the language for ISO standardization (not just open sourcing one implementation) would be a good indication of being serious about language support.

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

Re: Verso – Web browser built on top of the Servo web engine

#134
post #96

Earlier quoted context omitted.

Scoop is nice because, like homebrew, it's easy for package creators to create their own “buckets” and distribute packages that way.

I'm sure, but it's also "yet another package manager" because everyone has their own favourite package manager. It's a nit, but it's nice when a README.md goes "you need X, Y, and Z" and doesn't pretend you need a specific method for that. Tiny phrasing change, zero real world difference of course, but it's a nice little sign that the folks running a project know that you know what you're doing on the OS you're worki…

Scoop is the main package manager I've been using for years on windows apart from chocolatey. Dunno many others aside from the official windows one: winget.

Re: Verso – Web browser built on top of the Servo web engine

#135
post #84

Earlier quoted context omitted.

Oh thanks. Seems like Servo is way ahead of LadyBird

Which isn't that surprising given it has been underway for much longer, and as built with people with actual browser engine experience. Ladybird isn't that bad in comparison.

FWIW Ladybird is also built by people with actual browser engine experience

Re: Verso – Web browser built on top of the Servo web engine

#136

Earlier quoted context omitted.

It cannot crash its written in Rust.

Rust can absolutely crash. It crashes ("panics" in Rust terminology) in a memory safe way but it's still a crash (please don't try to redefine the word "crash" to be more specific than it actually is). And Rust can still have unsafe code so it can crash in memory unsafe ways too (though it is very unlikely unless you're doing things very wrong).

> And Rust can still have unsafe code so it can crash in memory unsafe ways too (though it is very unlikely unless you're doing things very wrong).

From when I grokked the code a bit (back in 2017) there was a non trivial amount of unsafe code, especially related to integration with SpiderMonkey (the js engine) so it wouldn't even be particularly surprising to see segfaults in servo, unlike most rust projects.

Re: Verso – Web browser built on top of the Servo web engine

#138
post #66

Earlier quoted context omitted.

Is there a good software engineering resource about the complexity of a web engine? I mean, we all know that is complex but what are the critical areas. Performance is one, compatibility another.

https://robert.ocallahan.org/2024/06/browser-engine.html P.S.: This specific post was written in response to announcement of Ladybird.

This is a good post; as far as Ladybird is concerned while they may have started things as fun, they seem to have taken a turn towards seriousness recently.

Re: Verso – Web browser built on top of the Servo web engine

#139
post #133

Earlier quoted context omitted.

I’m slightly more ambivalent than you about it. Swift is a nice language and has better ergonomics than C++ and I imagine a Swift codebase might find more contributors than a C++ one (maybe I’m wrong about that!) I also think it’s separate from the dream of “multiplatform Swift”. For that you need a healthy package ecosystem that all works cross platform, Swift doesn’t have that. But a lot of Ladybird is written at a…

I wonder what convinced Andreas Kling to abandon his own language Jakt [1] in favour of Swift. In the long run, it would be good to have high-level languages other than Java that have garbage collection (at least optionally) and classes, and that are still capable of doing cross-platform system development. I don't know if Swift fits that bill, besides cross-platform ecosystem (a la Java), submitting the language for…

You might be powerfully dry here, imparting a Zen lesson. If not, or if you, dear reader, doesn't see it: it is worth meditating on that there was a language, an OS, and a web browser. Then, on common characteristics in decision-making that would lead to that. Then, consider the yaks that have to be shaved, the ISO standardization / more than one implementation hints at this.

Re: Verso – Web browser built on top of the Servo web engine

#140

Earlier quoted context omitted.

I somewhat wonder—Firefox and Chrome are in a constant race to have the best JavaScript performance. In general, the sites I want to browse use minimal JavaScript, prudently, if at all, just where it is strictly necessary to add little dynamic features. So, I don’t really care about JavaScript performance at all. Optimization sometimes introduces additional complexity, which might open up the possibility of security…

> wonder if there’s room for a browser engine that ditches performance and just focuses on correctness and safety Isn't this just the noscript, which breaks most sites to a degree where they're impossible to use or load?

Haha, well that’s what I use now. I think it is the opposite though. I’d like a JavaScript implementation that doesn’t break any sites, but which makes absolutely no security compromises, even if that means they have to give up a lot of performance.

Sometimes, I just have to load a site that has JavaScript running. Or is unfortunate, but some work sites don’t work without it, etc. I’m fine with those sites being slow (I’ll minimize my use of them naturally), but totally blocking them is slightly inconvenient.

Post reply on HN