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 <a class="button-nacl button-download" href="/native-client/sdk/download.html"
>Download SDK</a> | 8 <a class="button-nacl button-download" href="/native-client/sdk/download.html"
>Download SDK</a> |
9 <div class="big-intro"> | 9 <div class="big-intro"> |
10 | 10 |
11 **Native Client** is a sandbox for running compiled C and C++ code in the | 11 **Native Client** is a sandbox for running compiled C and C++ code in the |
12 browser efficiently and securely, independent of the user's operating system. | 12 browser efficiently and securely, independent of the user's operating system. |
13 **Portable Native Client** extends that technology with | 13 **Portable Native Client** extends that technology with |
14 architecture independence, letting developers compile their code once to run | 14 architecture independence, letting developers compile their code once to run |
15 in any website and on any architecture. | 15 in any website and on any architecture. |
16 | 16 |
17 In short, Native Client brings the **performance** and **low-level control** | 17 In short, Native Client brings the **performance** and **low-level control** |
18 of native code to modern web browsers, without sacrificing the **security** and | 18 of native code to modern web browsers, without sacrificing the **security** and |
19 **portability** of the web. Watch the video below for an overview of | 19 **portability** of the web. Watch the video below for an overview of |
20 Native Client, including its goals, how it works, and how | 20 Native Client, including its goals, how it works, and how |
21 Portable Native Client lets developers run native compiled code on the web. | 21 Portable Native Client lets developers run native compiled code on the web. |
| 22 |
| 23 .. Note:: |
| 24 :class: note |
| 25 |
| 26 This site uses several examples of Native Client. For the best experience, |
| 27 consider downloading the `latest version of Chrome <http://www.google.com/chro
me/>`_. |
| 28 When you come back, be sure to `check out our demos |
| 29 <https://gonativeclient.appspot.com/demo>`_. |
22 | 30 |
23 .. raw:: html | 31 .. raw:: html |
24 | 32 |
25 </div> | 33 </div> |
26 | 34 |
27 <iframe class="video" width="640" height="360" | 35 <iframe class="video" width="600" height="337" |
28 src="//www.youtube.com/embed/MvKEomoiKBA?rel=0" frameborder="0"></iframe> | 36 src="//www.youtube.com/embed/MvKEomoiKBA?rel=0" frameborder="0"></iframe> |
| 37 <div class="big-intro"> |
| 38 |
| 39 Two Types of Modules |
| 40 ==================== |
29 | 41 |
30 <div class="right-side"> | 42 Native Client comes in two flavors. |
31 <div class="right-side-inner"> | 43 |
32 <h2>Guiding principles of Native Client</h2> | 44 * **Portable Native Client (PNaCl)**: Pronounced 'pinnacle', PNaCl runs single,
portable (**pexe**) executables and is available |
| 45 in most implementations of Chrome. A translator built into Chrome |
| 46 translates the pexe into native code for the client hardware. The entire |
| 47 module is translated before any code is executed rather than as the code is |
| 48 executed. PNaCl modules can be hosted from any web server. |
| 49 * **Native Client (NaCl)**: Also called traditional or non-portable Native |
| 50 Client, NaCl runs |
| 51 architecture-dependent (**nexe**) modules, which are packaged into an |
| 52 application. At runtime, the browser decides which nexe to load based on the |
| 53 architecture of the client machine. NaCl modules must be run from the `Chrome |
| 54 Web Store (CWS) <https://chrome.google.com/webstore/category/apps>`_. |
| 55 Fortunately, work from PNaCl modules can be used to create NaCl modules. |
| 56 |
| 57 These flavors are described in more depth in `PNaCl and NaCl <nacl-and-pnacl>`_ |
| 58 |
| 59 .. raw:: html |
| 60 |
| 61 <div class="left-side"> |
| 62 <div class="left-side-inner"> |
| 63 <h2>Hello World</h2> |
33 <div class="big-intro"> | 64 <div class="big-intro"> |
34 <ul> | 65 |
35 <li>Developer flexibility to program in any language.</li> | 66 To jump right in `take the tutorial <devguide/tutorial/tutorial-part1>`_ that wa
lks you through a basic web |
36 <li>Running close to the metal to allow access to performance gains.</li> | 67 application for Portable Native Client (PNaCl). This is a client-side |
37 <li>Protecting users from malicious code and malware.</li> | 68 application that uses HTML, JavaScript, and a Native Client module written in C+
+. |
38 <li>Write-once, run-anywhere code portability across all user architectures.
</li> | 69 |
39 </ul> | 70 .. raw:: html |
| 71 |
| 72 </div> |
| 73 </div> |
| 74 </div> |
| 75 <h2>A Little More Advanced</h2> |
| 76 <div class="big-intro"> |
| 77 |
| 78 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>`_. |
| 79 |
| 80 .. raw:: html |
| 81 |
| 82 </div> |
| 83 |
| 84 <div class="left-side"> |
| 85 <div class="left-side-inner"> |
| 86 <h2>Nuts and Bolts</h2> |
| 87 <div class="big-intro"> |
| 88 |
| 89 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>
`_. |
40 | 90 |
41 .. raw:: html | 91 .. raw:: html |
42 | 92 |
43 </div> | 93 </div> |
44 </div> | 94 </div> |
45 </div> | 95 </div> |
46 | 96 |
47 Get started with Native Client | 97 I Want to Know Everything |
48 ============================== | 98 ========================= |
| 99 |
| 100 So, you like to read now and try later. Start with our `Technical Overview </ove
rview>`_ |
49 | 101 |
50 .. raw:: html | 102 .. raw:: html |
51 | 103 |
52 <div class="big-intro"> | |
53 | |
54 #. :doc:`Download the Native Client SDK <sdk/download>`. | |
55 #. Read the :doc:`Technical Overview <overview>`. | |
56 #. Learn how to use the SDK and build both a web app and a Chrome app in the | |
57 :doc:`Getting Started Tutorial <devguide/tutorial/tutorial-part1>`. | |
58 | |
59 .. raw:: html | |
60 | |
61 </div> | |
62 <div class="big-intro" style="clear: both;"> | 104 <div class="big-intro" style="clear: both;"> |
63 | 105 |
64 Send us questions, comments, and feedback: | 106 Send us questions, comments, and feedback: |
65 `native-client-discuss <https://groups.google.com/forum/#!forum/native-client-di
scuss>`_. | 107 `native-client-discuss <https://groups.google.com/forum/#!forum/native-client-di
scuss>`_. |
66 | 108 |
67 .. raw:: html | 109 .. raw:: html |
68 | 110 |
69 </div> | 111 </div> |
70 </div> | |
OLD | NEW |