Index: native_client_sdk/src/doc/overview.rst |
diff --git a/native_client_sdk/src/doc/overview.rst b/native_client_sdk/src/doc/overview.rst |
index f98a1d9ef84a238d6a4890191637466120966263..6103bdde3234209b802c6ed7ec4ed482204c4b05 100644 |
--- a/native_client_sdk/src/doc/overview.rst |
+++ b/native_client_sdk/src/doc/overview.rst |
@@ -38,35 +38,33 @@ Why use Native Client? |
Native Client open-source technology is designed to run compiled code |
securely inside a browser at near-native speeds. Native Client puts web |
-applications on the same playing field as traditional (locally-run) |
-software---it provides the means to fully harness the client's computational |
-resources for applications such as 3D games, multimedia editors, CAD modeling, |
+applications on the same playing field as desktop software---it provides the |
+means to fully harness the client's computational resources for applications |
+such as 3D games, multimedia editors, CAD modeling, |
client-side data analytics, and interactive simulations. |
Native Client also aims to give C and C++ (and eventually other languages) the |
same level of portability and safety that JavaScript provides on the web today. |
-Here are a few of the key benefits that Native Client offers: |
+Important benefits of Native Client include: |
-* **Graphics, audio, and much more:** Run native code modules that render 2D |
+* **Graphics, audio, and much more:** Runing native code modules that render 2D |
binji
2014/08/19 19:22:34
sp: Running
jpmedley
2014/08/19 20:13:01
Done.
|
and 3D graphics, play audio, respond to mouse and keyboard events, run on |
multiple threads, and access memory directly---all without requiring |
the user to install a plugin. |
-* **Portability:** Write your applications once and you'll be able to run them |
- across operating systems (Windows, Linux, Mac, and Chrome OS) and CPU |
- architectures (x86 and ARM). |
-* **Easy migration path to the web:** Many developers and companies have years |
- of work invested in existing desktop applications. Native Client makes the |
- transition from the desktop to a web application significantly easier because |
- it supports C and C++. |
-* **Security:** Native Client uses a double sandbox model designed to protect |
- the user's system from malicious or buggy applications. This model offers the |
- safety of traditional web applications without sacrificing performance and |
+* **Portability:** Writing your applications once and running them on operating |
+ systems (Windows, Linux, Mac, and Chrome OS) and CPU architectures (x86 and |
+ ARM). |
+* **Easy migration path to the web:** Leveraging years of work in existing |
+ desktop applications. Native Client makes the transition from the desktop to a |
+ web application significantly easier because it supports C and C++. |
+* **Security:** Protecting the user's system from malicious or buggy |
+ applications through Native Client's double sandbox model. This model offers |
+ the safety of traditional web applications without sacrificing performance and |
without requiring users to install a plugin. |
-* **Performance:** Native Client allows web applications to run at speeds |
- comparable to desktop applications (within 5-15% of native speed). |
- Native Client also allows applications to harness all available CPU cores via |
- a threading API; this enables demanding applications such as console-quality |
- games to run inside the browser. |
+* **Performance:** Running at speeds comparable to desktop applications (within |
+ 5-15% of native speed). Native Client also allows applications to harness all |
+ available CPU cores via a threading API; this enables demanding applications |
+ such as console-quality games to run inside the browser. |
Common use cases |
================ |
@@ -74,17 +72,13 @@ Common use cases |
Typical use cases for Native Client include the following: |
* **Existing software components:** With support for C and C++, Native |
- Client enables you to reuse existing software modules in |
- web applications---you don't need to rewrite and debug code |
- that's already proven to work well. |
+ Client lets you to reuse existing software modules in web applications. You |
+ don't need to rewrite and debug code that already works. |
* **Legacy desktop applications:** Native Client provides a smooth migration |
path from desktop applications to the web. You can port and recompile existing |
code for the computation engine of your application directly to Native Client, |
- and need repurpose only the user interface and event handling portions to the |
- new browser platform. Native Client allows you to embed existing functionality |
- directly into the browser. At the same time, your application can take |
- advantage of things the browser does well: handling user interaction and |
- processing events, based on the latest developments in HTML5. |
+ and need rebuild only the user interface and event handling portions for the |
+ browser. |
* **Heavy computation in enterprise applications:** Native Client can handle the |
number crunching required by large-scale enterprise applications. To ensure |
protection of user data, Native Client enables you to build complex |
@@ -102,20 +96,20 @@ Typical use cases for Native Client include the following: |
* **Any application that requires acceleration**: Native Client fits seamlessly |
into web applications---it's up to you to decide to what extent to use it. |
Use of Native Client covers the full spectrum from complete applications to |
- small optimized routines that accelerate vital parts of web apps. |
+ small optimized routines that accelerate vital parts of web applications. |
.. _link_how_nacl_works: |
How Native Client works |
======================= |
-Native Client is an umbrella name for a set of interrelated software components |
-that work together to provide a way to develop C/C++ applications and run them |
-securely on the web. |
+Native Client is an umbrella name for a set of related software components that |
binji
2014/08/19 19:22:34
I think "work" is still needed
jpmedley
2014/08/19 20:13:01
I got interrupted during the edit, looks like.
|
+together to provide a way to develop C/C++ applications and run them securely |
+on the web. |
At a high level, Native Client consists of: |
-* **Toolchains**: collections of development tools (compilers, linkers, etc.) |
+* **Toolchains**: Collections of development tools (compilers, linkers, etc.) |
that transform C/C++ code to Native Client modules. |
* **Runtime components**: components embedded in the browser or other |
host platforms that allow execution of Native Client modules |
@@ -129,10 +123,10 @@ The left side of the diagram shows how to use Portable Native Client |
(PNaCl, pronounced "pinnacle"). Developers use the PNaCl toolchain |
to produce a single, portable (**pexe**) module. At runtime, a translator |
built into the browser translates the pexe into native code for the |
-relevant client architecture. |
+relevant client architecture. Translation occurs before any code is executed. |
-The right side of the diagram shows how to use traditional (non-portable) |
-Native Client. Developers use a nacl-gcc based toolchain to produce multiple |
+The right side of the diagram shows how to use (non-portable) Native Client. |
+Developers use a nacl-gcc based toolchain to produce multiple |
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. |