OLD | NEW |
1 .. _overview: | 1 .. _overview: |
2 | 2 |
3 ################## | 3 ################## |
4 Technical Overview | 4 Technical Overview |
5 ################## | 5 ################## |
6 | 6 |
7 .. contents:: | 7 .. contents:: |
8 :local: | 8 :local: |
9 :backlinks: none | 9 :backlinks: none |
10 :depth: 2 | 10 :depth: 2 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 application---you don't need to spend time reinventing and debugging code | 78 application---you don't need to spend time reinventing and debugging code |
79 that's already proven to work well. | 79 that's already proven to work well. |
80 * **Legacy desktop applications:** Native Client provides a smooth migration | 80 * **Legacy desktop applications:** Native Client provides a smooth migration |
81 path from desktop applications to the web. You can port and recompile existing | 81 path from desktop applications to the web. You can port and recompile existing |
82 code for the computation engine of your application directly to Native Client, | 82 code for the computation engine of your application directly to Native Client, |
83 and need repurpose only the user interface and event handling portions to the | 83 and need repurpose only the user interface and event handling portions to the |
84 new browser platform. Native Client allows you to embed existing functionality | 84 new browser platform. Native Client allows you to embed existing functionality |
85 directly into the browser. At the same time, your application takes advantage | 85 directly into the browser. At the same time, your application takes advantage |
86 of things the browser does well: handling user interaction and processing | 86 of things the browser does well: handling user interaction and processing |
87 events, based on the latest developments in HTML5. | 87 events, based on the latest developments in HTML5. |
88 * **Enterprise applications that require heavy computation:** Native Client | 88 * **Heavy computation in enterprise applications:** Native Client handles the |
89 handles the number crunching required by large-scale enterprise applications. | 89 number crunching required by large-scale enterprise applications. To ensure |
90 To ensure protection of user data, Native Client enables you to build complex | 90 protection of user data, Native Client enables you to build complex |
91 cryptographic algorithms directly into the browser so that unencrypted data | 91 cryptographic algorithms directly into the browser so that unencrypted data |
92 never goes out over the network. | 92 never goes out over the network. |
93 * **Multimedia applications:** Codecs for processing sounds, images, and movies | 93 * **Multimedia applications:** Codecs for processing sounds, images, and movies |
94 can be added to the browser in a Native Client module. | 94 can be added to the browser in a Native Client module. |
95 * **Games:** Native Client enables a web application to run close to native | 95 * **Games:** Native Client enables a web application to run close to native |
96 speed, reusing existing multithreaded/multicore C/C++ code bases, combined | 96 speed, reusing existing multithreaded/multicore C/C++ code bases, combined |
97 with low-level access to low-latency audio, networking APIs and OpenGL ES with | 97 with low-level access to low-latency audio, networking APIs and OpenGL ES with |
98 programmable shaders. Programming to Native Client also enables your binary to | 98 programmable shaders. Programming to Native Client also enables your binary to |
99 run unchanged across many platforms. Native Client is a natural fit for | 99 run unchanged across many platforms. Native Client is a natural fit for |
100 running a physics engine or artificial intelligence module that powers a | 100 running a physics engine or artificial intelligence module that powers a |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 within the Native Client sandbox as described above. It also uses intelligent | 157 within the Native Client sandbox as described above. It also uses intelligent |
158 caching to avoid re-compiling the **pexe** if it was already compiled on the | 158 caching to avoid re-compiling the **pexe** if it was already compiled on the |
159 client's browser. | 159 client's browser. |
160 | 160 |
161 Native Client also supports running a **nexe** directly in the browser. However, | 161 Native Client also supports running a **nexe** directly in the browser. However, |
162 since a **nexe** contains architecture-specific machine code, distributing | 162 since a **nexe** contains architecture-specific machine code, distributing |
163 **nexe** modules on the open web is not allowed. **nexe** modules can only be | 163 **nexe** modules on the open web is not allowed. **nexe** modules can only be |
164 used as part of applications that are installed from the Chrome Web Store and in | 164 used as part of applications that are installed from the Chrome Web Store and in |
165 browser extensions. | 165 browser extensions. |
166 | 166 |
| 167 For more details, see :doc:`NaCl and PNaCl <nacl-and-pnacl>`. |
| 168 |
167 Toolchains | 169 Toolchains |
168 ---------- | 170 ---------- |
169 | 171 |
170 A *toolchain* is a set of tools used to create an application from a set of | 172 A *toolchain* is a set of tools used to create an application from a set of |
171 source files. In the case of Native Client, a toolchain consists of a compiler, | 173 source files. In the case of Native Client, a toolchain consists of a compiler, |
172 linker, assembler and other tools that are used by the developer to convert an | 174 linker, assembler and other tools that are used by the developer to convert an |
173 application written in C/C++ into a module loadable by the browser. | 175 application written in C/C++ into a module loadable by the browser. |
174 | 176 |
175 The Native Client SDK provides two toolchains: | 177 The Native Client SDK provides two toolchains: |
176 | 178 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 help developers make adjustments to API changes and take advantage of new | 247 help developers make adjustments to API changes and take advantage of new |
246 features. | 248 features. |
247 | 249 |
248 Where to go next | 250 Where to go next |
249 ================ | 251 ================ |
250 | 252 |
251 The :doc:`quick start <quick-start>` document provides links to downloads and | 253 The :doc:`quick start <quick-start>` document provides links to downloads and |
252 documentation that should help you get started with developing and distributing | 254 documentation that should help you get started with developing and distributing |
253 NaCl applications. | 255 NaCl applications. |
254 | 256 |
OLD | NEW |