{{+bindTo:partials.standard_nacl_article}}

<section id="chrome-dev-summit-2014-native-client-codelabs">
<span id="cds2014"></span><h1 id="chrome-dev-summit-2014-native-client-codelabs"><span id="cds2014"></span>Chrome Dev Summit 2014 - Native Client Codelabs</h1>
<h2 id="a-crossroads">A Crossroads</h2>
<p>For your coding pleasure, we have two codelabs.
Depending on your interests and prior experience,
check out one or both.</p>
<p>Learn how easy it is to edit, build, and run NaCl applications
all in your desktop web browser or on a Chromebook.</p>
<h2 id="codelab-1-what-a-difference-python-makes">Codelab #1 - What a Difference Python Makes</h2>
<p>Learn how you can use client-side Python on your webpage.
Use the python <a href="https://docs.python.org/2/library/difflib.html"
 target="_blank">difflib</a> module to generate attractive online
textual diffs.
Develop inside Google Chrome, using a hot off the presses version
of our NaCl Dev Environment, running on a webpage,
powered by Portable Native Client.
The techniques in this codelab also apply to other interpreted languages
we&#8217;ve ported to PNaCl, including: Python, Lua, Ruby, Tcl, Bash, and Forth.</p>
<dl class="docutils">
<dt>Requirements:</dt>
<dd><ul class="first last small-gap">
<li>A Desktop / Laptop Windows, Mac, Linux, or ChromeOS browser
<br/><span id="python_compat" style="color: #cccc00"
    >Checking browser compatibility...</span><br/>
<i id="python_compat2"></i>
<script>
var tag = document.getElementById('python_compat');
var tag2 = document.getElementById('python_compat2');
if (!('application/x-pnacl' in navigator.mimeTypes)) {
  tag.innerHTML =
      'This codelab does not appear to be supported by your browser.';
  tag.style.color = '#cc0000';
  tag2.innerHTML =
      'You do not appear to be running a browser such as ' +
      'Google Chrome which supports Portable Native Client ' +
      'or you have disabled Portable Native Client.';
} else {
  tag.innerHTML = 'This codelab appears to be supported by your browser.';
  tag.style.color = '#00cc00';
}
</script></li>
<li>A fast broadband connection (500MB download)</li>
<li>Can read and write Python</li>
</ul>
</dd>
</dl>
<p><a class="reference external" href="python">Click here for Codelab #1 - What a Difference Python Makes</a></p>
<h2 id="codelab-2-a-saga-of-fire-and-water">Codelab #2 - A Saga of Fire and Water</h2>
<p>Learn the basics of using PPAPI to do 2D graphics from
a C++ program running in Native Client.
Modify our sample to turn fire into water.
Develop inside Google Chrome, using our NaCl Development Environment
Chrome App.
While this codelab currently targets conventional Native Client using our
GCC + GlibC based toolchain, the techniques involved are generally
applicable.</p>
<dl class="docutils">
<dt>Requirements:</dt>
<dd><ul class="first last small-gap">
<li>An x86 (sorry no arm) Desktop / Laptop
Windows, Mac, Linux, or ChromeOS browser
<br/><span id="cpp_compat" style="color: #cccc00"
    >Checking browser compatibility...</span><br/>
<i id="cpp_compat2"></i>
<script>
var tag = document.getElementById('cpp_compat');
var tag2 = document.getElementById('cpp_compat2');
if (!('application/x-nacl' in navigator.mimeTypes)) {
  tag.innerHTML =
      'This codelab does not appear to be supported by your browser.';
  tag.style.color = '#cc0000';
  tag2.innerHTML =
      'You do not appear to be running a browser such as ' +
      'Google Chrome which supports Native Client ' +
      'or you have disabled Native Client.';
} else if (navigator.userAgent.search(' arm') >= 0) {
  tag.innerHTML =
      'This codelab does not appear to be supported by your browser.';
  tag.style.color = '#cc0000';
  tag2.innerHTML =
      'You appear to be running on an ARM based CPU. ' +
      'While Native Client does support ARM, ' +
      "our developer environment's GCC + GlibC based toolchain " +
      'does not, at this time. Sorry.';
} else {
  tag.innerHTML = 'This codelab appears to be supported by your browser.';
  tag.style.color = '#00cc00';
}
</script></li>
<li>A fast broadband connection (500MB download)</li>
<li>Can read and write C++</li>
</ul>
</dd>
</dl>
<p><a class="reference external" href="cpp">Click here for Codelab #2 - A Saga of Fire and Water</a></p>
</section>

{{/partials.standard_nacl_article}}
