| Index: native_client_sdk/src/doc/index.rst
|
| diff --git a/native_client_sdk/src/doc/index.rst b/native_client_sdk/src/doc/index.rst
|
| index 40d78f843d68a162b4432c097d1846fc97e612c7..36681a0ccd787c9f9f91644ff0455ebb66ff3342 100644
|
| --- a/native_client_sdk/src/doc/index.rst
|
| +++ b/native_client_sdk/src/doc/index.rst
|
| @@ -18,47 +18,89 @@ In short, Native Client brings the **performance** and **low-level control**
|
| of native code to modern web browsers, without sacrificing the **security** and
|
| **portability** of the web. Watch the video below for an overview of
|
| Native Client, including its goals, how it works, and how
|
| -Portable Native Client lets developers run native compiled code on the web.
|
| +Portable Native Client lets developers run native compiled code on the web.
|
| +
|
| +.. Note::
|
| + :class: note
|
| +
|
| + This site uses several examples of Native Client. For the best experience,
|
| + consider downloading the `latest version of Chrome <http://www.google.com/chrome/>`_.
|
| + When you come back, be sure to `check out our demos
|
| + <https://gonativeclient.appspot.com/demo>`_.
|
|
|
| .. raw:: html
|
|
|
| </div>
|
|
|
| - <iframe class="video" width="640" height="360"
|
| + <iframe class="video" width="600" height="337"
|
| src="//www.youtube.com/embed/MvKEomoiKBA?rel=0" frameborder="0"></iframe>
|
| + <div class="big-intro">
|
| +
|
| +Two Types of Modules
|
| +====================
|
| +
|
| +Native Client comes in two flavors.
|
| +
|
| +* **Portable Native Client (PNaCl)**: Pronounced 'pinnacle', PNaCl runs single, portable (**pexe**) executables and is available
|
| + in most implementations of Chrome. A translator built into Chrome
|
| + translates the pexe into native code for the client hardware. The entire
|
| + module is translated before any code is executed rather than as the code is
|
| + executed. PNaCl modules can be hosted from any web server.
|
| +* **Native Client (NaCl)**: Also called traditional or non-portable Native
|
| + Client, NaCl runs
|
| + architecture-dependent (**nexe**) modules, which are packaged into an
|
| + application. At runtime, the browser decides which nexe to load based on the
|
| + architecture of the client machine. NaCl modules must be run from the `Chrome
|
| + Web Store (CWS) <https://chrome.google.com/webstore/category/apps>`_.
|
| + Fortunately, work from PNaCl modules can be used to create NaCl modules.
|
| +
|
| +These flavors are described in more depth in `PNaCl and NaCl <nacl-and-pnacl>`_
|
| +
|
| +.. raw:: html
|
|
|
| - <div class="right-side">
|
| - <div class="right-side-inner">
|
| - <h2>Guiding principles of Native Client</h2>
|
| + <div class="left-side">
|
| + <div class="left-side-inner">
|
| + <h2>Hello World</h2>
|
| <div class="big-intro">
|
| - <ul>
|
| - <li>Developer flexibility to program in any language.</li>
|
| - <li>Running close to the metal to allow access to performance gains.</li>
|
| - <li>Protecting users from malicious code and malware.</li>
|
| - <li>Write-once, run-anywhere code portability across all user architectures.</li>
|
| - </ul>
|
| +
|
| +To jump right in `take the tutorial <devguide/tutorial/tutorial-part1>`_ that walks you through a basic web
|
| +application for Portable Native Client (PNaCl). This is a client-side
|
| +application that uses HTML, JavaScript, and a Native Client module written in C++.
|
|
|
| .. raw:: html
|
|
|
| </div>
|
| </div>
|
| </div>
|
| + <h2>A Little More Advanced</h2>
|
| + <div class="big-intro">
|
|
|
| -Get started with Native Client
|
| -==============================
|
| +If you've already got the basics down, you're probably trying to get a real application ready for production. You're `building </devguide/devcycle/building>`_, `debugging </devguide/devcycle/debugging>`_ or `ready to distribute </devguide/distributing>`_.
|
|
|
| .. raw:: html
|
|
|
| - <div class="big-intro">
|
| + </div>
|
|
|
| -#. :doc:`Download the Native Client SDK <sdk/download>`.
|
| -#. Read the :doc:`Technical Overview <overview>`.
|
| -#. Learn how to use the SDK and build both a web app and a Chrome app in the
|
| - :doc:`Getting Started Tutorial <devguide/tutorial/tutorial-part1>`.
|
| + <div class="left-side">
|
| + <div class="left-side-inner">
|
| + <h2>Nuts and Bolts</h2>
|
| + <div class="big-intro">
|
| +
|
| +You've been working on a Native Client module for a while now and you've run into an arcane problem. You may need to refer to the `PNaCl Bitcode Reference </reference/pnacl-bitcode-abi>`_ or the `Sandbox internals </sandbox_internals/index>`_.
|
|
|
| .. raw:: html
|
|
|
| </div>
|
| + </div>
|
| + </div>
|
| +
|
| +I Want to Know Everything
|
| +=========================
|
| +
|
| +So, you like to read now and try later. Start with our `Technical Overview </overview>`_
|
| +
|
| +.. raw:: html
|
| +
|
| <div class="big-intro" style="clear: both;">
|
|
|
| Send us questions, comments, and feedback:
|
| @@ -67,4 +109,3 @@ Send us questions, comments, and feedback:
|
| .. raw:: html
|
|
|
| </div>
|
| - </div>
|
|
|