.. _qmladvancedtutorial:

QML Advanced Tutorial
*********************

This tutorial walks you through the steps of creating an application using QML.
It assumes that you already know the basics of QML (for example, from reading the
:ref:`qmltutorial`.

In this tutorial, you will develop the game, *Same Game*. It is based on the
Same Game application included in the declarative demos directory, and looks
like this:

.. figure:: declarative-samegame.png
    :align: center

The tutorial covers concepts related to producing a fully functional application,
including JavaScript integration, using QML states and behaviors to manage
components and enhance your interface, and storing persistent application data.

Prior knowledge of JavaScript is useful to understand parts of this
tutorial, but if you don't know it, you can still get a feel of
integrating the backend logic that creates and controls QML items.

Tutorial chapters:

.. toctree::
    :maxdepth: 1

    samegame1.rst
    samegame2.rst
    samegame3.rst
    samegame4.rst

All the code in this tutorial can be found :download:`here <samegame.tar.bz2>`.
