5 ms·
Electron (WebKit) is much more than a rendering engine though. Sure, you could use Servo in a desktop app, but you’d have to also bundle all the other browser c
by coddle-hark 6y ago
Electron (WebKit) is much more than a rendering engine though. Sure, you could use Servo in a desktop app, but you’d have to also bundle all the other browser components (a JS engine, for example) individually. You’re basically building a browser at that point.
- danShumway 6y agoWell, to be honest though, a lot of the criticism of Electron stems from the fact that it's more than just a rendering engine. There are a lot of applications where you'd want to take advantage of a browser view or a renderer or a JS engine, but not the rest of the stack. There are native apps where you might want a well-sandboxed JS engine for extension support, or where you're writing all of your core logic in C/Rust but you want to use HTML/CSS for your interface. Splitting up those components would be useful in a lot of situations.
- smnthermes 6y ago> or where you're writing all of your core logic in C/Rust but you want to use HTML/CSS for your interface DOM is highly intertwined with JavaScript, so that wouldn't be possible.
- RussianCow 6y agoThis is clearly not true, since the DOM interface is implemented in something like C++ (or Rust, in this case) in browser engines, so you could write your logic in the same language, or even write a binding for any language you like.
- amaranth 6y agoLast time I looked in to it this is true for at least Servo though. DOM objects use the SpiderMonkey GC for memory management since that makes them easier to work with from JS and means they didn't have to write a separate graph manager or GC. DOM hierarchy is worst case scenario for the Rust borrow checker, they don't work well together at all.
- lastontheboat 6y agoServo currently incorporates a network stack, a JS engine, the DOM, JS APIs, an HTML parser, a CSS styling engine, graphical rendering, media parsing and playback, etc. It is not a browser, since it doesn't impose requirements about how to load specific pages, interact with tabs, expose history or bookmarks, etc.
- M2Ys4U 6y agoI thought Servo linked with SpiderMonkey rather than including their own JS engine
- lastontheboat 6y agoCorrect. I didn't mean to imply otherwise.
- oatmealsnap 6y agoCould it be used as a Linux desktop environment? I.e. Alternative to Gnome? I would love to be able to contribute improvements to the desktop environments I use, but I don’t have the time to learn languages that aren’t applicable to my daily work.