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