servo / project

A repo for the Servo Project
Creative Commons Zero v1.0 Universal
238 stars 6 forks source link

Brainstorming use cases #8

Open jdm opened 4 years ago

jdm commented 4 years ago

I want to capture the ideas that have been discussed for ways Servo could end up being used in end products (that we would not necessarily be building):

Please add anything that I've forgotten!

asajeffrey commented 4 years ago

Vehicle for browser UI experiments (not an end product, but a showcase for Servo).

nox commented 4 years ago

A non-revenue use case that can bring good will and reputation: a self-contained Rust crate for a way to use SpiderMonkey without feeling miserable.

jgraham commented 4 years ago

https://www.ekioh.com/ have the Flow engine, which is mainly focused on embedded use cases.

paulrouget commented 4 years ago

Here is an example of use case: Qutebrowser: https://github.com/servo/servo/issues/27579#issuecomment-701610608

tmzt commented 3 years ago

Servo could be an ideal platform for experimenting with new web frameworks and APIs, such as parallel or virtual lightweight DOMs. These APIs could also be exposed to WASM without a JS bridge.

shartte commented 3 years ago

Potentially game UIs.

There are several commercial products in this space that over time were derived from WebKit, as well as EA WebKit, which is being used in a high number of EA's AAA games.

What is rarer is Chromium Embedded Framework being used in actual games (since most games are DirectX based and surface sharing with Chromium is somewhat of a hassle, although this has changed recently, as well as the multi-process model being a hidrance since game UI is trusted content). But I know of at least "Planetary Annihilation" using it.

For open source gaming projects, there's sadly not a lot to choose from in this space, as CEF is extremely heavy-weight, and the opensourced EA WebKit lacks the custom rendering engine that EA uses.

Most of the required use cases would likely be handled by the "normal" embedding API.

IngwiePhoenix commented 1 year ago

I like the PWA one. Since the removal of the "native" TweetDeck app, I have had to use hacky ways to put it as a PWA into a standalone app. Considering how many applications these days are just PWAs, having a "dedicated PWA host" would be absolutely welcome! Plus, Servo is very lightweight, so that woule help a lot; just looking at Task Manager with a few Electron apps open is sometimes a littly scary x)

As for Embedding; I see many people using libwebview, which is a generic wrapper to get "a webview". Could see something like that as well. I know there is libsimpleservo, but I havent looked at it in several years... so I am not fully caught up on its current capabilities.

Generally, providing a shared lib with C/C++ headers would be much appreciated! :)