Monday, December 13, 2010

A sneak peek at the Native Client SDK

Today, we’re happy to make available a developer preview of the Native Client SDK – an important first step in making Native Client more accessible as a tool for developing real web applications.

When we released the research version of Native Client a year ago, we offered a snapshot of our source tree that developers could download and tinker with, but the download was big and cumbersome to use. The Native Client SDK preview, in contrast, includes just the basics you need to get started writing an app in minutes: a GCC-based compiler for creating x86-32 or x86-64 binaries from C or C++ source code, ports of popular open source projects like zlib, Lua, and libjpeg, and a few samples that will help you get you started developing with the NPAPI Pepper Extensions. Taken together, the SDK lets you write C/C++ code that works seamlessly in Chromium and gives you access to powerful APIs to build your web app.

To get started with the SDK preview, grab a copy of the download at You’ll also need a recent build of Chromium started with the --enable-nacl command-line flag to test the samples and your apps. Because the SDK relies on NPAPI Pepper extensions that are currently only available in Chromium, the SDK won’t work with the Native Client browser plug-ins.

We’ll be updating the SDK rapidly in the next few months, so download a copy, develop some cool apps, share them with the community and send us your feedback! If you build useful libraries in the process, please also consider submitting a patch to the SDK packages directory – chances are, what’s been useful to you will be useful to others. Finally, if you’re attending Google I/O, come to our Beyond JavaScript session, or meet the team at the Developer Sandbox.

Welcome to this early preview of the Native Client SDK. With the SDK and a Windows, Mac OS X, or Linux computer, you'll be able to build web apps that seamlessly use native C/C++ code to perform high-performance computation, render 2D/3D graphics, play audio, and respond to mouse and keyboard events — all without requiring users to install a plugin. Until Native Client is on by default in Google Chrome, you can run web apps that use Native Client by launching Google Chrome version 6 or later with the --enable-nacl flag.

This SDK and the APIs that you can use with Native Client
will change.
Watch this page or the
discussion group
for news.

If you're interested in the implementation of Native Client, rather than using it to build apps, see the Native Client project.

How to start

How you should start working with Native Client depends on whether you want to try out the SDK in its current early stage. If you don't — if you just want to run a few apps that use Native Client — follow the instructions in How to Run Modules, or if you have are running a NaCl-enabled browser, visit our Gallery.
If you want to try out the SDK, here's what we recommend:
  1. Follow the "Getting Started" instructions

    You'll download the SDK and the Dev channel build of Google Chrome, you'll run sample apps, and you can modify and rebuild the apps.
  2. Subscribe to our discussion group
  3. Give us feedback
  4. Contribute to our design work
  5. For the intrepid, try out the lastest Pepper 2 experimental version. This is not for the faint-of-heart.
You can also watch our Google I/O 2010 talk:

Slides and more

Using open-source libraries

Many useful C and C++ libraries have already been ported to Native Client. For a list of ported open-source libraries, see the packages/scripts/ directory of the naclports project. Instructions for building these packages are in the README. If you'd like to port another library, see HowTo_PortCode.

More information

For information about Native Client, see:

No comments:

Post a Comment