# Antes de empezar

<p class="lead">Una lista de recursos que te ayudaran a inicar con el desarrollo de aplicaciones usando Frappé.</p>

---

#### 1. Python

Frappé usa Python (v2.7) como lenguaje de parte del servidor. Es altamente recomendable aprender Python antes de iniciar a crear aplicaciones con Frappé.

Para escribir código de calidad del lado del servidor, también debes incluir pruebas automatizadas.

Recursos:
 1. [Tutorial sobre Python de Codecademy](https://www.codecademy.com/learn/python)
 1. [Tutorial Oficial de Python](https://docs.python.org/2.7/tutorial/index.html)
 1. [Tutorial básico de Test-driven development](http://code.tutsplus.com/tutorials/beginning-test-driven-development-in-python--net-30137)

---

#### 2. MariaDB / MySQL

Para crear aplicaciones con frappe, debes entender los conceptops básicos del manejo de base de datos, como instalarlas, acceder, crear nueva base de datos, y hacer consultas básicas con SQL.

Recursos:
 1. [Tutorial sobre SQL de Codecademy](https://www.codecademy.com/learn/learn-sql)
 1. [Tutorial Básico de MySQL de DigitalOcean](https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial)
 1. [Introducción a MariaDB](https://mariadb.com/kb/en/mariadb/documentation/getting-started/)

---

#### 3. HTML / CSS

Si quieres construir interfaces de usuario usando Frappé, necesitas aprender los conceptops básicos de HTML / CSS y el framework de CSS Bootstrap.

Recursos:
 1. [Tutorial sobre HTML/CSS de Codecademy](https://www.codecademy.com/learn/learn-html-css)
 1. [Introducción a Bootstrap](https://getbootstrap.com/getting-started/)

---

#### 4. JavaScript and jQuery

Para modificar formularios y crear interfaces de usuarios interactivas, deberías aprender JavaScript y la librería JQuery.


Recursos:
 1. [Tutorial sobre JavaScript de Codecademy](https://www.codecademy.com/learn/learn-javascript)
 1. [Tutorial sobre jQuery de Codecademy](https://www.codecademy.com/learn/jquery)
---

#### 5. Manejar de plantillas Jinja

Si estas modificando plantillas de Impresión o Páginas Web, tienes que aprender a utilizar el manejar de plantillas Jinja. Es una forma facíl de crear páginas web dinámicas.

Recursos:
 1. [Primer on Jinja Templating](https://realpython.com/blog/python/primer-on-jinja-templating/)
 1. [Documentación oficial](http://jinja.pocoo.org/)

---

#### 6. Git and GitHub

Aprende como contribuir en un proyecto de código abierto usando Git y GitHub, dos increíbles herramientes que te ayudan a gestionar tu código y compartirlo con otros.

Recursos:
 1. [Tutorial Básico de Git](https://try.github.io)
 2. [Cómo contribuir al Código Abierto](https://opensource.guide/how-to-contribute/)

---

Cuando estes listo, puedes intentar [crear una aplicación simple](/docs/user/es/tutorial/app) usando Frappé.
