diff options
| author | JF Bastien <jfb@chromium.org> | 2015-06-12 11:59:03 +0200 |
|---|---|---|
| committer | JF Bastien <jfb@chromium.org> | 2015-06-12 11:59:03 +0200 |
| commit | c6e32e6e4d8f9f3242aec0ca4e99de1017a90574 (patch) | |
| tree | 5641ff5b492aaae1ef6eca02f80c16cb118fc45f /UseCases.md | |
| parent | 7570edd51523b2189c1574ed74b259e55f5c87ae (diff) | |
| parent | 8eaa519446b7312a0b35ac32d80d344c49b5bd18 (diff) | |
| download | nanowasm-design-c6e32e6e4d8f9f3242aec0ca4e99de1017a90574.tar.gz | |
Merge branch 'master' into generate
Diffstat (limited to 'UseCases.md')
| -rw-r--r-- | UseCases.md | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/UseCases.md b/UseCases.md new file mode 100644 index 0000000..405cafa --- /dev/null +++ b/UseCases.md @@ -0,0 +1,52 @@ +# Use Cases + +WebAssembly's [high-level goals](HighLevelGoals.md) define *what* WebAssembly +aims to achieve, and in *which order*. *How* WebAssembly achieves its goals is +documented for [Web](Web.md) and [non-Web](NonWeb.md) platforms. The following +is an unordered and incomplete list of applications/domains/computations that +would benefit from WebAssembly and are being considered as use cases during the +design of WebAssembly. + +## Inside the browser + +* Better execution for languages and toolkits that are currently cross-compiled + to the Web (C/C++, GWT, …). +* Image / video editing. +* Games: + - Casual games that need to start quickly. + - AAA games that have heavy assets. + - Game portals (mixed-party/origin content). +* Peer-to-peer applications (games, collaborative editing, decentralized and + centralized). +* Music applications (streaming, caching). +* Image recognition. +* Live video augmentation (e.g. putting hats on people's heads). +* VR and augmented reality (very low latency). +* CAD applications. +* Scientific visualization and simulation. +* Interactive educational software, and news articles. +* Platform simulation / emulation (ARC, DOSBox, QEMU, MAME, …). +* Language interpreters and virtual machines. +* POSIX user-space environment, allowing porting of existing POSIX applications. +* Developer tooling (editors, compilers, debuggers, …). +* Remote desktop. +* VPN. +* Encryption. +* Local web server. +* Common NPAPI users, within the web's security model and APIs. +* Fat client for enterprise applications (e.g. databases). + +# Outside the browser + +* Game distribution service (portable and secure). +* Server-side compute of untrusted code. +* Server-side application. +* Hybrid native apps on mobile devices. + +# How WebAssembly can be used + +* Entire code base in Web Assembly. +* Main frame in Web Assembly, but the UI is in JavaScript / HTML. +* Re-use existing code by targeting Web Assembly, embedded in a larger + JavaScript / HTML application. This could be anything from simple helper + libraries, to compute-oriented task offload. |
