15 ms·
Servo's progress in 2024
- qwertox 2y agoThat's great news! I thought the project had died and that this meant that V8 was the only serious JavaScript engine for the future. For those who don't know: "Servo is a web browser rendering engine written in Rust, with WebGL and WebGPU support, and adaptable to desktop, mobile, and embedded applications."
- vanderZwan 2y agoI'm confused: why would the existence of a browser engine affect a JavaScript engine? Don't you mean WebKit/Blink instead of V8? Either way I'm glad that there's a challenge to the browser monopoly and its various technical components of course.
- gkbrk 2y agoServo just uses SpiderMonkey instead of their own JS engine in Rust. Even without SpiderMonkey, we'd still have JavascriptCore from Safari and LibJS from Ladybird.
- wslh 2y agoI don't see the relevancy of the JS engine in the context of a web rendering engine and its independent complexity. The homepage of Servo (basically, a portion of the Wikipedia entry snapshot) doesn't even mention it.
- kjeetgill 2y agoBecause the parent-most post from quertox was: > That's great news! I thought the project had died and that this meant that V8 was the only serious JavaScript engine for the future. The person you're responding to was basically clarifying what you want to too.
- fbouvier 2y agoAnd some lightweight alternatives like Bellard's QuickJS (https://bellard.org/quickjs/ https://bellard.org/quickjs/) in C and Kiesel (https://kiesel.dev/ https://kiesel.dev/) in Zig.
- nicoburns 2y agoAlso, Hermes which React Native uses.
- moderation 2y agoAWS' LLRT runtime just switched to QuickJS-NG [0] 0. https://github.com/awslabs/llrt/pull/669 https://github.com/awslabs/llrt/pull/669
- ai-christianson 2y agoI thought it had died too. Great to see it make a comeback.
- oguz-ismail 2y ago[flagged]
- bdhcuidbebe 2y agospidermoneky has been around since before V8
- diggan 2y agoBit of an understatement. SpiderMonkey was the first JavaScript engine (out of all of them), born in 1996, made by refactoring the scraps of Mocha that was the initial prototype made by Eich.
- madeofpalk 2y ago> V8 was the only serious JavaScript engine for the future. Firefox's SpiderMonkey? Webkit's JSC?
- culi 2y agoLadybird and Servo are exciting and much needed projects since Microsoft abandoned their own independent browser engine to use Chromium. If you didn't know you could see the massive progress both projects have made in web compatibility here: https://wpt.fyi/results/?label=master&product=chrome&product=firefox&product=safari&product=ladybird&product=servo&aligned https://wpt.fyi/results/?label=master&product=chrome&product... As of today, browsers pass this percent of tests: Chrome: 96.82% Firefox: 95.41% Safari: 94.97% Ladybird: 89.30% Servo: 78.61%
- materielle 2y agoOne interesting thing covered in the Ladybird monthly update videos, is that most of the web platform tests are text encoding tests for Asian languages. If you remove them, Ladybird is closer to 60% and Servo to 50%. Still good, and the point still stands that they are making amazing progress. But probably more accurate because that last 10%-20% are going to get harder to chip away at.
- culi 2y agoThat's interesting and it explains why the wpt.fyi website doesn't show a percentage but instead the number of tests. There are tons of other examples of these easy points in the test suite. Ofc text encoding tests are important if we want the internet to truly be global I guess these percentages are kinda useless by themselves but still useful to track progress when you put them together in a historical graph
- IshKebab 2y agoYeah it's crazy that they don't weight the tests. AVIF support is 1 test, whereas WebCryptoAPI is 50k.
- Release0381 2y agoAVIF support is irrelevant. JPEG, PNG and soon JPEG XL is all you need.
- wiz21c 2y ago
- Tsarp 2y agoWondering how useful this would be for the agentic workflows that need browsing. The open deep research tread from yesterday mentioned using a pure text based browser sort of thing to quickly get info.
- infogulch 2y agoLike the recently discussed Lightpanda? Show HN: Lightpanda, an open-source headless browser in Zig | 318 points | 11 days ago | 137 comments | https://news.ycombinator.com/item?id=42817439 https://news.ycombinator.com/item?id=42817439
- fbouvier 2y agoYes, argentic workflows are one of our use cases for Lightpanda. We skip the graphical rendering of the web page for instant startup, fast execution and low resources usage.
- infogulch 2y agoCan skipping rendering affect website behavior? What happens when JS tries to get layout/color information? How often does this break a website?
- fabrice_d 2y agoThey skip rendering but maybe don't skip layout and style computation?
- porridgeraisin 2y agoDoes it save much resources at all then? Id think that style computation and layouting takes a large chunk of the total resources used.
- petesergeant 2y agoI have to imagine that the vast majority of those workflows are going to want to blend into real traffic as much as possible, which just means driving Chrome
- jillesvangurp 2y agoAre there browsers that use servo; or plans to build one? If not, who is actually using servo and what for?
- pera 2y agoVerso: https://news.ycombinator.com/item?id=41215727 https://news.ycombinator.com/item?id=41215727
- dblohm7 2y agoFirefox has used Servo's rendering and styling components for years now.
- jillesvangurp 2y agoServo was of course based on the servo project in Mozilla. But that was discontinued years ago before that project was completed. I'm sure Mozilla still uses some of those components. But is servo actively contributing back to Mozilla at this point or is it more of a fork?
- 0x457 2y ago> But that was discontinued years ago before that project was completed. IIRC purpose of Servo when it was Mozilla project was: - Develop large scale project in rust to see pain points - Have a test bed for pieces that would later be integrated in Firefox In both cases project succeeded: Quantum CSS (Stylo), WebRender, and some smaller components that I don't recall. I don't think there was ever a goal of building a full consumer-grade browser, at least not within Mozilla.
- nicoburns 2y agoThere is two-way syncing of the shared components (primarily Stylo and Webrender). They are primarily maintained by Mozilla, but Servo has been contributing some changes.
- kuringganteng 2y ago[dead]
- infogulch 2y agoI'm convinced that using an embedded browser engine to render app UI is the future. Browser rendering engines are so powerful and versatile and universal I don't see how they can lose. "But Electron!" Yes, Electron hasn't taken the world by storm because it has two huge deficiencies: 1. It takes an enormous amount of resources including ram and disk. 2. It has no native DOM API bindings so it takes even more ram and cpu to compile and run JS quickly. I'm excited for the new crop of browser engines because they could fix those deficiencies, opening up browser tech to app developers without hugely compromising the experience.
- horsawlarway 2y agoI mean... Just to be clear, Electron has pretty much taken the world by storm. Huge number of Enterprise/productivity apps are shipped on Electron. It's hard to beat the value proposition on the business side if you need a website for the product.
- infogulch 2y agoTrue but anyone that cares about battery life or runs more than one of these apps hates it. So I guess my threshold for "taken by storm" is both "very common" and "users don't hate it".
- icedrift 2y agoIt is tragic that the only robust solution for cross platform apps eats up so much memory and storage but we're getting to the point where it's not that big a deal.
- monroewalker 2y agoIf servo (or something like it) succeeds, would that mean potentially being able to swap out chromium in Electron? Would that help with performance / application size?
- kibwen 2y agoLong ago it was a goal of Servo to adhere to the Chromium embedding framework, and differentiate itself from Gecko by having a good embedding story. I'm unclear whether that is still a goal of the modern project, however.
- PartiallyTyped 2y agoMinor typo: from over an our to under 30 minutes. s/our/hour/
- esad 2y agoI think Servo's killer application would be a mobile-first browser for postmarketOS/Mobian/other mobile Linux distros. It's a weird vacuum because Firefox has its Android port, but when you run Firefox on small linux (touch)screen, the experience is very suboptimal. I'd call it unbearable if it wasn't for bunch of tweaks in form of https://gitlab.postmarketos.org/postmarketOS/mobile-config-firefox https://gitlab.postmarketos.org/postmarketOS/mobile-config-f... Chrome is no better, as it has a very weird hardcoded minimum window width of 500px.
- kevingadd 2y agoThe minimum window width is a funny thing, Chrome has been steadily raising the minimum every time they make changes to the UI. It used to have a minimum around 320px and now on some configurations it's nearly 800px. There's an old open bug about it where people periodically comment to complain that it was raised again.
- spankalee 2y agoI've long thought its killer feature would be embeddable cross-platform UI and native-wrapped web apps like Electron and Capacitor. For these cases it doesn't need to render the entire public web, but the subset used by the application developers. It's a much more tractable problem. Chrome had a project a long time ago called Razor whose goal was to make a 120fps streamlined subset of the web platform for those types of use cases. They tried to throw away warts of the web that slowed down parsing and rendering like quirks modes, floats, negative margins, infinite entity expansion, element adoption, and probably most built-in elements, leaving a few core built-ins and custom elements. Razor apps could have run on the web, and in a Razor runtime. Unfortunately, IMO, they kept removing things until they removed the document, and swapped in Dart for JS and the project became Flutter which is not very web-like at all. I thought Razor was a neat idea, and Servo could really fill that space well.
- pests 2y agoDidn’t realize that was the backstory of Flutter, I thought this was headed in a different direction. I heard the YouTube team did something similar for their embedded / resource-constrained environments where the client just renders barebones HTML/JS and only what is needed is implemented in the engine.
- ramon156 2y agoWhy the big dip in PRs over the years? Was that the year it got discontinued?
- pilaf 2y agoI would guess so. Their blog also has a big gap between 2020 [1] (when the Servo team was laid off from Mozilla) and 2023 [2] when they found new funding and restarted development, with nothing else posted in between. 1: https://servo.org/blog/2020/11/17/servo-home/ https://servo.org/blog/2020/11/17/servo-home/ 2: https://servo.org/blog/2023/01/16/servo-2023/ https://servo.org/blog/2023/01/16/servo-2023/
- 6451937099 2y ago[dead]
- deleted 2y ago[deleted]