My favorites | English | Sign in

Native Client SDK (Labs)

How do I start?

  1. Read the Technical Overview.
  2. Check out the example apps.
  3. Download the SDK.
  4. Try out the Getting Started tutorial.
  5. Examine the APIs in detail.

Audience

The SDK is for developers who are writing applications that use Native Client. If you are a browser implementor and are interested in the underlying details of Native Client, check out the open source Native Client project. This project will be useful to you if, for example, you're writing a compiler, are interested in porting Native Client to a new browser, or are researching the security mechanisms provided by Native Client.

Native Client is an open-source technology that allows you to build web applications that seamlessly execute native compiled code inside the browser.

Here are some of the things Native Client offers web developers:

  • Graphics, audio, and much more
    Run native code modules that render 2D 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 apps once and you'll be able to run them on any major platform (Windows, Linux, Mac, and soon, Chrome OS).
  • Security
    Installing a desktop app or a browser plugin can present serious security risks and deter potential users. Native Client uses a double sandbox designed to protect resources on the user's system. This framework offers the safety of traditional web apps in addition to the performance benefits of native compiled code, without requiring users to install a plugin.
  • 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 desktop app to web app significantly easier because Native Client supports C and C++ (and will continue to add more languages).
  • Performance
    Native Client allows your app to run at a speed comparable to a desktop app. This capability enables demanding applications such as console-quality games to run inside the browser.

What's in the SDK?

The Native Client SDK provides a set of APIs, documentation, and examples to show you how to write a Native Client module in C or C++, and how to use the APIs to enable the module to communicate with JavaScript and to access browser resources. The SDK also includes a GNU-based toolchain with customized GCC compilers, SCons build configuration files, and other tools and scripts to help you generate code that runs in the Native Client sandbox.