3 ms·
I don't think CEF API compat is good enough. Look at other Chromium based applications in Electron or nw.js. They use up multiple processes and are bulky. What
by kodablah 11y ago
I don't think CEF API compat is good enough. Look at other Chromium based applications in Electron or nw.js. They use up multiple processes and are bulky. What is needed is a low level embedding API that does not have IPC and process forking baked in. Sadly we are on the path to losing a lot of that...even the Servo devs said that while they expect it to work at that low of a level, multi process is all they are concerned about supporting[1].
1 - https://news.ycombinator.com/item?id=9541721 https://news.ycombinator.com/item?id=9541721
- Manishearth 11y agoI think, like Patrick said there, there's not much reason for Servo to stop working single process (in fact, we still are single process by default?) aside from cruft buildup and lack of interest. If there's a need for maintaining a single process mode that's not too much effort.
- kodablah 11y agoI would love to be able to embed Servo with this approach. With the serious lack of cross-platform AND cross-language UI toolkits available these days, everyone is turning to embedded browsers (I am looking at 7 Slack processes averaging 40MB each, though the Slack devs may deserve blame). I think bit rot is what has made --single-process for Chromium no longer viable. Heck, I'd say even making it easily embeddable before feature complete would still get adopters due to app devs knowing what they need to support unlike the open web. Granted I cannot really put my money/skills where my mouth is here so it's just wishful thinking on my part. I am not familiar w/ where Servo stands on the embedding front today, I have not looked in a while.
- Manishearth 11y agoUsing Servo to build apps is an explicit goal, and part of the browser.html project (https://github.com/browserhtml/browserhtml https://github.com/browserhtml/browserhtml) includes developing a privileged set of APIs and other things ("Graphene") that work in Servo and let you build applications. This is more towards creating standalone applications (no need for actual embedding) that use Servo, though. As far as the embedding story is concerned we do support the CEF API (if you need something more there, please file an issue and we'll look into it), and we do want to eventually make it into a webview-esque thing which you can embed in Android and elsewhere.
- pcwalton 11y agoI didn't say that multiprocess is all we care about supporting. I said that we'd support single process mode as long as there's interest and a maintainer.
- kodablah 11y agoMy apologies for mis-summarizing. In general I think there would be interest (as far as actionable interest in the form of a maintainer I am not as sure).