Could Servo be used to build desktop webview type apps that can leverage all the html/js/css libraries that are available?
The main complaint people seem to have about this approach is the large size of the executable, I don't know if Servo can make a different in this respect.
I really like sciter for webview-type apps. It's really lightweight, integrates well with native code, and brings some native-app concepts to JS (like the communication between multiple app windows). Sure, it's not open source, but you can have the source code if you pay for it, I can respect that.
My main issue is that it's lacking some of the DOM API. It's complete enough that you wouldn't really notice when writing code yourself, but good luck finding a charting library that runs without modifications.
Sciter is very interesting. It uses a custom rendering engine with a custom fork of QuickJS. Extremely lightweight and fast. Quite a nice project honestly.
I was thinking about building a desktop app framework using servo, but skipping any html/css parsers and without any JS engine. It would use rust and some dsl/macros that compile to servo function calls that build the UI. I'm not sure how much smaller it would be, but I imagine not having node would be a good start
I'd been wanting to see this, preferably with JS being optional, and just allowing direct DOM access.
I initially thought this was what Azul was, but it's only just using Servo's WebRender compositor, and rolls its own CSS parser, DOM, and layout engine, so it doesn't benefit from most of the work done on Servo, and supports less CSS features.
I think it used to be a goal to be embeddable in the way you describe. Or at least better than gecko and at least as good as chromium of the time. I’m not sure if that goal changed. I think it probably doesn’t yet support enough features to meet your requirements.
If you use Electron your app is bundled with Webkit + NodeJS and runs two different processes. Servo is like a minimal/limited Webkit and you dont need to write your app logic in NodeJS.
The main complaint people seem to have about this approach is the large size of the executable, I don't know if Servo can make a different in this respect.