forked from WebAssembly/website
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
117 lines (115 loc) · 7.35 KB
/
index.html
File metadata and controls
117 lines (115 loc) · 7.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
<title>WebAssembly</title>
<link href="css/primer.css" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="columns">
<div class="two-thirds column centered">
<section class="header text-center">
<h1 class="title">WebAssembly</h1>
<a class="btn btn-outline" href="./">Overview</a>
<a class="btn btn-outline" href="demo/">Demo</a>
<a class="btn btn-outline" href="https://github.com/WebAssembly/design">Design</a>
<a class="btn btn-outline" href="https://github.com/WebAssembly/spec">Specification</a>
<a class="btn btn-outline" href="https://www.w3.org/community/webassembly/">Community Group</a>
<p class="lead">WebAssembly or <i>wasm</i> is a new portable, size- and load-time-efficient format suitable for compilation to the web.</p>
</section>
</div>
</div>
<div class="columns">
<div class="three-fourths column centered">
<div class="flash flash-warn flash-messages">
WebAssembly is currently being designed as an open standard by a <a href="https://www.w3.org/community/webassembly/">W3C Community Group</a> that includes representatives from all major browsers. Expect the contents of this website and its associated design repositories to be in flux: everything is still under discussion and subject to change.
</div>
<h2>Overview</h2>
<ul>
<li>
<p><strong>Efficient and fast</strong>: The wasm <a href="https://github.com/WebAssembly/design/blob/master/AstSemantics.md">AST</a> is designed to be encoded in a size- and load-time-efficient <a href="https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md">binary format</a>. WebAssembly aims to execute at native speed by taking advantage of <a href="https://github.com/WebAssembly/design/blob/master/Portability.md#assumptions-for-efficient-execution">common hardware capabilities</a> available on a wide range of platforms.</p>
</li>
<li>
<p><strong>Safe</strong>: WebAssembly describes a memory-safe, sandboxed <a href="https://github.com/WebAssembly/design/blob/master/AstSemantics.md#linear-memory">execution environment</a> that may even be implemented inside existing JavaScript virtual machines. When <a href="https://github.com/WebAssembly/design/blob/master/Web.md">embedded in the web</a>, WebAssembly will enforce the same-origin and permissions security policies of the browser.</p>
</li>
<li>
<p><strong>Open and debuggable</strong>: WebAssembly is designed to be pretty-printed in a <a href="https://github.com/WebAssembly/design/blob/master/TextFormat.md">textual format</a> for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when <a href="https://github.com/WebAssembly/design/blob/master/FAQ.md#will-webassembly-support-view-source-on-the-web">viewing the source</a> of wasm modules on
the web.</p>
</li>
<li>
<p><strong>Part of the open web platform</strong>: WebAssembly is designed to maintain the versionless, feature-tested, and backwards-compatible <a href="https://github.com/WebAssembly/design/blob/master/Web.md">nature of the web</a>. WebAssembly modules will be able to call into and out of the JavaScript context and access browser functionality through the same Web APIs accessible from JavaScript. WebAssembly also supports <a href="https://github.com/WebAssembly/design/blob/master/NonWeb.md">non-web</a> embeddings.</p>
</li>
</ul>
<p>Read the project's <a href="https://github.com/WebAssembly/design/blob/master/HighLevelGoals.md">high-level goals</a> and consult the <a href="https://github.com/WebAssembly/design/blob/master/FAQ.md">FAQ</a> section for more information.</p>
<h2>Roadmap</h2>
<table>
<thead>
<tr>
<th class="text-left"><a href="https://github.com/WebAssembly/design/blob/master/MVP.md">MVP</a></th>
<th class="text-left">Soon <a href="https://github.com/WebAssembly/design/blob/master/PostMVP.md">after MVP</a></th>
<th class="text-left"><a href="https://github.com/WebAssembly/design/blob/master/FutureFeatures.md">Future versions</a></th>
</tr>
</thead>
<tbody>
<tr>
<td>asm.js functional parity</td>
<td>threads</td>
<td>finer-grained memory control</td>
</tr>
<tr>
<td>validation semantics</td>
<td>shared memory</td>
<td>large page support</td>
</tr>
<tr>
<td>execution semantics</td>
<td>dynamic linking</td>
<td>more expressive control flow</td>
</tr>
<tr>
<td>module semantics</td>
<td>zero-cost exceptions</td>
<td>GC/DOM integration</td>
</tr>
<tr>
<td>binary encoding</td>
<td>fixed-width SIMD</td>
<td>linear memory >4GiB</td>
</tr>
<tr>
<td>textual format</td>
<td></td>
<td>... and <a href="https://github.com/WebAssembly/design/blob/master/FutureFeatures.md">more</td>
</tr>
<tr>
<td>cross-browser support</td>
<td></td>
<td></a></td>
</tr>
<tr>
<td>polyfill-able in JS</td>
<td></td>
<td></a></td>
</tr>
</tbody>
</table>
<h2>SDK</h2>
<p>For bleeding edge compilation of C/C++ or asm.js to WebAssembly, see the instructions for <a href="https://github.com/WebAssembly/binaryen">Binaryen</a>, a derivative of <a href="http://kripken.github.io/emscripten-site/">Emscripten</a>.</p>
<h2>Contributing</h2>
<p>The actual WebAssembly specification is being developed in the <a href="https://github.com/WebAssembly/spec/">spec repository</a>. For now, high-level design discussions should continue to be held in the <a href="https://github.com/WebAssembly/design/">design repository</a>, via issues and pull requests, so that the spec work can remain focused.</p>
<p>Join us:</p>
<ul>
<li>in the <a href="https://www.w3.org/community/webassembly/">W3C Community Group</a></li>
<li>on IRC: <a href="https://kiwiirc.com/client/irc.w3.org/?nick=wasmer-?#webassembly">irc://irc.w3.org:6667/#webassembly</a></li>
<li>by <a href="https://github.com/WebAssembly/design/blob/master/Contributing.md">contributing</a>!</li>
</ul>
<p>The WebAssembly <a href="https://wasm-stat.us/console">waterfall</a> builds, executes, and archives different components of the WebAssembly project, enabling end-to-end integration tests of LLVM compilation and execution in d8 and the Binaryen interpreter.</p>
<p>When contributing, please follow our <a href="https://github.com/WebAssembly/design/blob/master/CodeOfConduct.md">Code of Ethics and Professional Conduct</a>.</p>
</div>
</div>
</div>
</body>
</html>