Susanna Huhtanen
ihmis.suski@gmail.com 2012
A beginner's guide to writing GNOME applications in JavaScript, including code samples and practice exercises.

# 0. Tutoriales para principiantes y ejemplos

      JavaScript is one of the most popular programming languages on the web. It's not just for the web, though. If you have even a basic understanding of JavaScript, you can write full-fledged applications for GNOME. GNOME Documents is written in JavaScript, and so is GNOME Shell, the most basic part of GNOME.
      GNOME Shell is what you see when you click on "Activities" in the top-left corner of your screen. It also controls the clock and the rest of the top panel. Besides showing how you to write GNOME applications, these tutorials will also show you how to use JavaScript to write GNOME Shell extensions, which give it new features or change the way it does things.

# Getting Started

These tutorials are designed for people who already know how to write in JavaScript, and who have GNOME installed on their computers already, but who are new to developing GNOME applications. If you don't already know JavaScript, or if you need help getting GNOME set up, take a look at these resources first:

Eloquent JavaScript is a free, Creative Commons-licensed book, which explains the basics of JavaScript programming. Since you won't be writing JavaScript for the web, you only need to read up to chapter 10 or so.

Download GNOME as part of a distribution, like Fedora, openSUSE, or Ubuntu. Each distribution has its own instructions for how to get GNOME.

Set up gedit for writing applications. GNOME's text editor, gedit, is sometimes just called "text editor."

# Tutoriales

# Ejemplos de código

These samples show how to use widgets in your GNOME applications. Each one demonstrates a complete application which showcases the featured widget. At the end of each sample, you will find links to more detailed reference material.

Para ejecutar los ejemplos de código:

Copie y pegue el código en nombre_archivo.js

Escriba en la terminal:

    gjs nombre_archivo.js

## Ventanas

## Widgets de visualización

## Botones y casillas

## Entrada de daos numérica y de texto

## Editor de texto multilínea

## Widgets de menú, caja combinada y barra de herramientas

## Widget TreeView

## Selectores

### Selectores de archivos

### Selectores de tipografías

### Selectores de color

## Contenedores de la distribución

## Adornos

## Desplazamiento

## Varios

# Ejercicios