.. _quick-start:

.. include:: /migration/deprecation.inc

###########
Quick-start
###########

To get started with Native Client:

#. Read the :doc:`Technical Overview <overview>` to understand what Native
   Client is, how a Native Client application is structured and to get a feel
   for what you need to do to port existing code.
#. Play with some of the applications in the `Application Gallery
   <community/application-gallery>`_ to see what others have done so far.
#. Go through the :doc:`Getting Started Tutorial <devguide/tutorial/tutorial-part1>`. The
   tutorial walks you through how to get Native Client set up for the first
   time and check for browser version compatibility.
#. Download the :doc:`Native Client SDK <sdk/download>` and take a look at some
   of the examples. You can learn how to build and run the example applications
   on the :doc:`Running the SDK Examples <sdk/examples>` page.
#. Browse through the :doc:`Developer's Guide <devguide/index>` and the
   :doc:`Pepper API <pepper_stable/index>` reference documentation. The
   :doc:`Glossary <glossary>` defines some terms and names commonly used
   throughout the documentation.

