An open-source browser engine written in Rust(github.com)
github.com
An open-source browser engine written in Rust
https://github.com/servo/servo
40 comments
See also:
* What's the future of Servo? (578 points) Aug 14, 2020 https://news.ycombinator.com/item?id=24156504
* Servo Engine contributions this year (238 points) July 1, 2021 https://news.ycombinator.com/item?id=27700836
* Can Servo be a clean and modern reference platform for developers? (62 points) Aug 27, 2015 https://news.ycombinator.com/item?id=10129518
* What's the future of Servo? (578 points) Aug 14, 2020 https://news.ycombinator.com/item?id=24156504
* Servo Engine contributions this year (238 points) July 1, 2021 https://news.ycombinator.com/item?id=27700836
* Can Servo be a clean and modern reference platform for developers? (62 points) Aug 27, 2015 https://news.ycombinator.com/item?id=10129518
Always shade thrown at "in Rust" and I don't like how it's become buzz-wordy, but here it seems appropriate- not because "oh I might use this browser because it's written in rust" more like a great resource to understand how so many various features and functionality are implemented and fit together in a particular language that might be of interest.
If this were written in D or Zig or something other than C++, I think that's unique and worth mentioning.
What a cool project to be open source. Browsers do a lot of crazy stuff.
If this were written in D or Zig or something other than C++, I think that's unique and worth mentioning.
What a cool project to be open source. Browsers do a lot of crazy stuff.
Fun fact: Rust's development saw significant traction and support by Mozilla in the first place to be used for the development of Servo. Or in other words, the eventual development of Servo was, what motivated the development of of Rust from pet project into what it is today.
It is a signal of quality. There are entire classes of bug which are much less likely to occur in apps written in rust.
As with all signals, it is neither a guarantee nor entirely meaningless.
As with all signals, it is neither a guarantee nor entirely meaningless.
Can someone elaborate the relationship between Servo and Firefox? When it firstly came I thought it's going to be the next engine used in Firefox (replacing Gecko), but it apparently was not the case.
I then heard that servo would be part of Firefox, replacing certain components (layout rendering?), but this repo seems to imply that Servo is a standalone engine.
Edit: found a reddit post [1], which cleared up what Firefox wanted/got from Servo project.
But it's now even more confusing that what the purpose of current Servo project has. If building a full browser engine from scratch is deemed to hard even with Mozilla's financial support (according to this post), now without, it's hard to imagine anything substantive would be done with this project in future.
[1] https://www.reddit.com/r/firefox/comments/yvd1f0/whats_the_s...
I then heard that servo would be part of Firefox, replacing certain components (layout rendering?), but this repo seems to imply that Servo is a standalone engine.
Edit: found a reddit post [1], which cleared up what Firefox wanted/got from Servo project.
But it's now even more confusing that what the purpose of current Servo project has. If building a full browser engine from scratch is deemed to hard even with Mozilla's financial support (according to this post), now without, it's hard to imagine anything substantive would be done with this project in future.
[1] https://www.reddit.com/r/firefox/comments/yvd1f0/whats_the_s...
Other comments give more detail, but some of the good ideas made it into Firefox. A similar thing happened at Google when Omega seemed like it might replace Borg. Borg adopted the best ideas and Omega got cancelled.
Sometimes it's easier to retrofit the novel ideas from a research system into the production system than it is to make the research system into the production system, and that's OK.
Sometimes it's easier to retrofit the novel ideas from a research system into the production system than it is to make the research system into the production system, and that's OK.
Which is totally fine I think, but I guess there really isn't much future for the current Servo project, right?
Servo had a period where it had no active backing, but now it's part of the Linux Foundation and seems to have more buzz around it. I know Tauri (UI toolkit for Rust and other languages) are looking at ways to use Servo as the backend for developing UIs in Rust, kind of like a more lightweight electron.
It seems they're even making some progress on that https://servo.org/blog/2024/01/19/embedding-update/
The purpose of servo (and therefore the purpose of Rust) is to drive the development of Rust's LSP, obviously
My understanding is that it was going to be the new core of Firefox, until the mass Mozilla layoff of 2020 where the Servo team was completely gutted.
This is incorrect. Servo was a test bed for new architectural changes within Firefox. Some of them made their way into Firefox, like Stylo and WebRender.
I don't think that was the plan from the start. There definitely was talk that it would eventually replace Gecko, not just be used for parts.
[deleted]
[deleted]
[deleted]
> even with Mozilla's financial support
I wonder how much was spent on browser engine versus determining what sneaker designers has to say about colors on the modern web, and other such things
https://www.mozilla.org/en-US/stories/joy-of-color/
I wonder how much was spent on browser engine versus determining what sneaker designers has to say about colors on the modern web, and other such things
https://www.mozilla.org/en-US/stories/joy-of-color/
> If building a full browser engine from scratch is deemed to hard even with Mozilla's financial support
Maybe that is long term goal, but it seems to me that they are currently working on embedding - so it can be used in applications, that do not need full-featured engine.
Maybe that is long term goal, but it seems to me that they are currently working on embedding - so it can be used in applications, that do not need full-featured engine.
Now passes 80% WPT as of Jan 10 2024: https://wpt.servo.org/
I think it only applies to the focus area, otherwise it's at 55.7% (which is already quite impressive!).
For details on how parts of Servo were moved to FF, see Quantum: https://en.m.wikipedia.org/wiki/Gecko_(software)#Quantum
> It includes numerous improvements to Gecko, largely incorporated from the experimental Servo project.
> It includes numerous improvements to Gecko, largely incorporated from the experimental Servo project.
is it correct to say, that rust was created to create servo
I wouldn't say so.
It seems this was a personal itch that Mozilla's developer Graydon Hoare wanted to scratch and then Mozilla saw potentional and started sponsoring it for Servo.
https://www.technologyreview.com/2023/02/14/1067869/rust-wor...
It seems this was a personal itch that Mozilla's developer Graydon Hoare wanted to scratch and then Mozilla saw potentional and started sponsoring it for Servo.
https://www.technologyreview.com/2023/02/14/1067869/rust-wor...
So Graydon Hoare made the initial design and implementation, but it was significantly redesigned and reimplemented after it was picked up by the wider Mozilla organisation for use in browser development.
So Rust as we know it today was definitely made for browser development at Mozilla. But that means both Firefox and Servo, not just Servo.
So Rust as we know it today was definitely made for browser development at Mozilla. But that means both Firefox and Servo, not just Servo.
Afaik it existed on the prototype stage before Mozilla investigated using it because it fit their purpose. But I think it's fair to say we know about Rust today because of Servo.
Interesting that the last git tag was pushed in 2019, and most of the Cargo.toml files show version "0.0.1."
As another commenter points out, Mozilla laid off almost the entire Servo team a few years ago
It's being picked up again though: https://www.theregister.com/2023/09/27/servo_returns/
don't know, there was a downtime in 2021 and 22 but since 2023, contributions look back to where it was before .. https://github.com/servo/servo/graphs/contributors
It's a little rusty
I take umbrage with the qualificative of "An"... the title should say "THE". :)
[deleted]
lagniappe(1)
* Servo to Advance in 2023 (300 points), Jan 2023: https://news.ycombinator.com/item?id=34400214
* Servo, the parallel browser engine written in Rust (340 points), May 2023: https://news.ycombinator.com/item?id=36092852
* This year in Servo (265 points), Dec 2023: https://news.ycombinator.com/item?id=38681463
* What's the future of Servo? (578 points), Aug 2020: https://news.ycombinator.com/item?id=24156504
* Servo's new home (1025 points), Nov 2020: https://news.ycombinator.com/item?id=25125325