Is Servo planning to get back to the whole "writing a web rendering engine" part, and backburner the "let's play around with VR and stuff" plans? Because until then, I don't think Servo is especially interesting as a project. As far as I can tell, the last few years of Servo have been characterized by an obsession with chasing shiny things, and not with the kind of rigid and dedicated engineering efforts necessary to…
We spent a significant amount of effort in the last year and a half working on a redesigned modular/parallel layout subsystem. The VR focus was because it was a good way to get servo out to end users early without needing to be fully web compat -- WebXR doesn't require complex layout. We didn't drop our focus on full web compat during this, but full web compat has always been a more long term goal given how complex t…
Servo’s new home
171–180 of 326 posts
Re: Servo’s new home
#172Earlier quoted context omitted.
My understanding is that Servo was more experimental research, with an eye towards possibly being integrated at some point.
Does Firefox have any Rust component at all if Servo is not apparently used at all by it, currently? People have been claiming Firefox components were written in Rust for ages, usually meaning Servo, but it seems now that those claims were just misleading.
In general, a lot of text handling, and parsing in general, is moving to Rust, although some code is moving far more slowly than others. Additionally, APIs that had been implemented in JS that are too slow (or memory-heavy) are being moved to a Rust implementation instead, such as the l10n implementation.
Re: Servo’s new home
#173Is Servo planning to get back to the whole "writing a web rendering engine" part, and backburner the "let's play around with VR and stuff" plans? Because until then, I don't think Servo is especially interesting as a project. As far as I can tell, the last few years of Servo have been characterized by an obsession with chasing shiny things, and not with the kind of rigid and dedicated engineering efforts necessary to…
We spent a significant amount of effort in the last year and a half working on a redesigned modular/parallel layout subsystem. The VR focus was because it was a good way to get servo out to end users early without needing to be fully web compat -- WebXR doesn't require complex layout. We didn't drop our focus on full web compat during this, but full web compat has always been a more long term goal given how complex t…
You have a massive effort ahead of you, and you won't get there by chasing distractions. You need to have a singular focus if you're going to accomplish this goal.
Re: Servo’s new home
#174Re: Servo’s new home
#175Earlier quoted context omitted.
My personal opinion is that, for a servo based browser, it's probably better to just use UWP/C++ on Windows, C/GTK on Linux, and SwiftUI on Mac, and just embed Servo via its C-API layer. Rust shine when it comes to building a safe and fast web engine. For the OS "glue" code, I would stick to whatever is best for each platform.
You missed Android. Firefox for mobile is so far behind Chrome, it’s unusable for me, most plugins don’t work. I would vote for HTML/CSS based browser (React / React Native?), though I know that a lot of operating system specific code needs to be written.
Re: Servo’s new home
#176Earlier quoted context omitted.
Rust has the ability to expose a C API. So, I don't see it as a non-starter. It's just that no one bothered to expose it. EDIT: I'm wrong, but I do think the documentation isn't that great. https://github.com/servo/servo/tree/master/ports/libsimplese... https://github.com/paulrouget/servo-embedding-example
> It's just that no one bothered to expose it. Almost the entire quick start guide is about using Rust. So you know, if I want to embed it, how do I do it? If I need a view offscreen rendered to a framebuffer, how do I get it? Can I blit? If so, how? How do I pass events to the browser abstraction? Servo talks about none of these things and leaves it up to you, but 110% emphasizes everything possible about Rust. I do…
Anyway servo comes with libservo and libservosimple. Admittedly they don't seem to be well documented for people coming from C world.
Perhaps you might want to comment on raise an issue for Servo?
I haven't worked on it in quite a while.
Re: Servo’s new home
#177Re: Servo’s new home
#178Earlier quoted context omitted.
Indeed, as an FYI the LF is truly "Foundation as a Service" and has entities in the US, EU, Japan and China. The RISC-V Foundation (hosted by the LF) is even based out of Switzerland.
> Linux Foundation is truly "Foundation as a Service" That made me chuckle. If you have a reading about that, I think I would enjoy.
https://www.linuxfoundation.org/blog/2020/05/building-a-succ... https://www.linuxfoundation.org/blog/2020/09/software-define...
Along with an older presentation I gave on the topic: https://docs.google.com/presentation/d/1Q2jKVpeGkbDVdcUhrzxC...
Re: Servo’s new home
#179Haven't heard of Servo before so was excited about the possibility of a lean new engine, but was pretty deflated when the preview build is 200Mb+ on disk (80Mb just for the main exe). It's possible some of it comes from the unoptimized extras like the JS engine, media libraries, etc.
I don’t recall that disk size was ever something we’ve optimized or tracked. Why is it important?
If you're targeting application developers, minimizing the system requirements (including size-on-disk) for an installed app that embeds Servo is going to matter.
I don't know how much it matters, though.
Re: Servo’s new home
#180Earlier quoted context omitted.
> It's just that no one bothered to expose it. Almost the entire quick start guide is about using Rust. So you know, if I want to embed it, how do I do it? If I need a view offscreen rendered to a framebuffer, how do I get it? Can I blit? If so, how? How do I pass events to the browser abstraction? Servo talks about none of these things and leaves it up to you, but 110% emphasizes everything possible about Rust. I do…
Having looked at it more, it seems servo does expose C API. The part I was working on doesn't. Anyway servo comes with libservo and libservosimple. Admittedly they don't seem to be well documented for people coming from C world. Perhaps you might want to comment on raise an issue for Servo? I haven't worked on it in quite a while.
If they don't have a getting started guide for people like me to actually embed and use the software it's a waste of my time and hypeware or vaporware depending on how you want to look at it.
18k stars and I know there aren't 18k embedders out there.