OLD | NEW |
1 ######################## | 1 ######################## |
2 Welcome to Native Client | 2 Welcome to Native Client |
3 ######################## | 3 ######################## |
4 | 4 |
5 .. raw:: html | 5 .. raw:: html |
6 | 6 |
7 <div id="home"> | 7 <div id="home"> |
8 <div class="pull-quote">To get the SDK and<br/>installation instructions<br/> | 8 <div class="pull-quote">To get the SDK and<br/>installation instructions<br/> |
9 <a href="/native-client/sdk/download.html">visit the SDK Download page</a>. | 9 <a href="/native-client/sdk/download.html">visit the SDK Download page</a>. |
10 </div> | 10 </div> |
11 <div class="big-intro"> | 11 <div class="big-intro"> |
12 | 12 |
13 **Native Client** is a sandbox for running compiled C and C++ code in the | 13 **Native Client** is a sandbox for running compiled C and C++ code in the |
14 browser efficiently and securely, independent of the user's operating system. | 14 browser efficiently and securely, independent of the user's operating system. |
15 **Portable Native Client** extends that technology with | 15 **Portable Native Client** extends that technology with |
16 architecture independence, letting developers compile their code once to run | 16 architecture independence, letting developers compile their code once to run |
17 in any website and on any architecture. | 17 in any website and on any architecture. |
18 | 18 |
19 In short, Native Client brings the **performance** and **low-level control** | 19 In short, Native Client brings the **performance** and **low-level control** |
20 of native code to modern web browsers, without sacrificing the **security** and | 20 of native code to modern web browsers, without sacrificing the **security** and |
21 **portability** of the web. Watch the video below for an overview of | 21 **portability** of the web. Watch the video below for an overview of |
22 Native Client, including its goals, how it works, and how | 22 Native Client, including its goals, how it works, and how |
23 Portable Native Client lets developers run native compiled code on the web. | 23 Portable Native Client lets developers run native compiled code on the web. |
24 | 24 |
25 .. Note:: | 25 .. Note:: |
26 :class: note | 26 :class: note |
27 | 27 |
28 This site uses several examples of Native Client. For the best experience, | 28 This site uses several examples of Native Client. For the best experience, |
29 consider downloading the `latest version of Chrome <http://www.google.com/chro
me/>`_. | 29 consider downloading the `latest version of Chrome |
30 When you come back, be sure to `check out our demos | 30 <http://www.google.com/chrome/>`_. When you come back, be sure to `check out |
31 <https://gonativeclient.appspot.com/demo>`_. | 31 our demos <https://gonativeclient.appspot.com/demo>`_. |
32 | 32 |
33 .. raw:: html | 33 .. raw:: html |
34 | 34 |
35 </div> | 35 </div> |
36 | 36 |
37 <iframe class="video" width="600" height="337" | 37 <iframe class="video" width="600" height="337" |
38 src="//www.youtube.com/embed/MvKEomoiKBA?rel=0" frameborder="0"></iframe> | 38 src="//www.youtube.com/embed/MvKEomoiKBA?rel=0" frameborder="0"></iframe> |
39 <div class="big-intro"> | 39 <div class="big-intro"> |
40 | 40 |
41 Two Types of Modules | 41 Two Types of Modules |
42 ==================== | 42 ==================== |
43 | 43 |
44 Native Client comes in two flavors. | 44 Native Client comes in two flavors. |
45 | 45 |
46 * **Portable Native Client (PNaCl)**: Pronounced 'pinnacle', PNaCl runs single,
portable (**pexe**) executables and is available | 46 * **Portable Native Client (PNaCl)**: Pronounced 'pinnacle', PNaCl runs single, |
47 in most implementations of Chrome. A translator built into Chrome | 47 portable (**pexe**) executables and is available in most implementations of |
48 translates the pexe into native code for the client hardware. The entire | 48 Chrome. A translator built into Chrome translates the pexe into native code |
49 module is translated before any code is executed rather than as the code is | 49 for the client hardware. The entire module is translated before any code is |
50 executed. PNaCl modules can be hosted from any web server. | 50 executed rather than as the code is executed. PNaCl modules can be hosted from |
| 51 any web server. |
51 * **Native Client (NaCl)**: Also called traditional or non-portable Native | 52 * **Native Client (NaCl)**: Also called traditional or non-portable Native |
52 Client, NaCl runs | 53 Client, NaCl runs architecture-dependent (**nexe**) modules, which are |
53 architecture-dependent (**nexe**) modules, which are packaged into an | 54 packaged into an application. At runtime, the browser decides which nexe to |
54 application. At runtime, the browser decides which nexe to load based on the | 55 load based on the architecture of the client machine. NaCl modules must be run |
55 architecture of the client machine. NaCl modules must be run from the `Chrome | 56 from the `Chrome Web Store (CWS) |
56 Web Store (CWS) <https://chrome.google.com/webstore/category/apps>`_. | 57 <https://chrome.google.com/webstore/category/apps>`_. Fortunately, work from |
57 Fortunately, work from PNaCl modules can be used to create NaCl modules. | 58 PNaCl modules can be used to create NaCl modules. |
58 | 59 |
59 These flavors are described in more depth in `PNaCl and NaCl <nacl-and-pnacl>`_ | 60 These flavors are described in more depth in :doc:`PNaCl and NaCl |
| 61 <nacl-and-pnacl>` |
60 | 62 |
61 .. raw:: html | 63 .. raw:: html |
62 | 64 |
63 <div class="left-side"> | 65 <div class="left-side"> |
64 <div class="left-side-inner"> | 66 <div class="left-side-inner"> |
65 <h2>Hello World</h2> | 67 <h2>Hello World</h2> |
66 <div class="big-intro"> | 68 <div class="big-intro"> |
67 | 69 |
68 To jump right in `take the tutorial <devguide/tutorial/tutorial-part1>`_ that wa
lks you through a basic web | 70 To jump right in :doc:`take the tutorial <devguide/tutorial/tutorial-part1>` |
69 application for Portable Native Client (PNaCl). This is a client-side | 71 that walks you through a basic web application for Portable Native Client |
70 application that uses HTML, JavaScript, and a Native Client module written in C+
+. | 72 (PNaCl). This is a client-side application that uses HTML, JavaScript, and a |
| 73 Native Client module written in C++. |
71 | 74 |
72 .. raw:: html | 75 .. raw:: html |
73 | 76 |
74 </div> | 77 </div> |
75 </div> | 78 </div> |
76 </div> | 79 </div> |
77 <h2>A Little More Advanced</h2> | 80 <h2>A Little More Advanced</h2> |
78 <div class="big-intro"> | 81 <div class="big-intro"> |
79 | 82 |
80 If you've already got the basics down, you're probably trying to get a real appl
ication ready for production. You're `building </devguide/devcycle/building>`_,
`debugging </devguide/devcycle/debugging>`_ or `ready to distribute </devguide/d
istributing>`_. | 83 If you've already got the basics down, you're probably trying to get a real |
| 84 application ready for production. You're :doc:`building |
| 85 <devguide/devcycle/building>`, :doc:`debugging <devguide/devcycle/debugging>` |
| 86 or :doc:`ready to distribute <devguide/distributing>`. |
81 | 87 |
82 .. raw:: html | 88 .. raw:: html |
83 | 89 |
84 </div> | 90 </div> |
85 | 91 |
86 <div class="left-side"> | 92 <div class="left-side"> |
87 <div class="left-side-inner"> | 93 <div class="left-side-inner"> |
88 <h2>Nuts and Bolts</h2> | 94 <h2>Nuts and Bolts</h2> |
89 <div class="big-intro"> | 95 <div class="big-intro"> |
90 | 96 |
91 You've been working on a Native Client module for a while now and you've run int
o an arcane problem. You may need to refer to the `PNaCl Bitcode Reference </ref
erence/pnacl-bitcode-abi>`_ or the `Sandbox internals </sandbox_internals/index>
`_. | 97 You've been working on a Native Client module for a while now and you've run |
| 98 into an arcane problem. You may need to refer to the :doc:`PNaCl Bitcode |
| 99 Reference <reference/pnacl-bitcode-abi>` or the :doc:`Sandbox internals |
| 100 <reference/sandbox_internals/index>`. |
92 | 101 |
93 .. raw:: html | 102 .. raw:: html |
94 | 103 |
95 </div> | 104 </div> |
96 </div> | 105 </div> |
97 </div> | 106 </div> |
98 | 107 |
99 I Want to Know Everything | 108 I Want to Know Everything |
100 ========================= | 109 ========================= |
101 | 110 |
102 So, you like to read now and try later. Start with our `Technical Overview </ove
rview>`_ | 111 So, you like to read now and try later. Start with our :doc:`Technical Overview |
| 112 <overview>` |
103 | 113 |
104 .. raw:: html | 114 .. raw:: html |
105 | 115 |
106 <div class="big-intro" style="clear: both;"> | 116 <div class="big-intro" style="clear: both;"> |
107 | 117 |
108 Send us questions, comments, and feedback: | 118 Send us questions, comments, and feedback: `native-client-discuss |
109 `native-client-discuss <https://groups.google.com/forum/#!forum/native-client-di
scuss>`_. | 119 <https://groups.google.com/forum/#!forum/native-client-discuss>`_. |
110 | 120 |
111 .. raw:: html | 121 .. raw:: html |
112 | 122 |
113 </div> | 123 </div> |
OLD | NEW |