# Antes de empezar

Una lista de recursos que te ayudaran a inicar con el desarrollo de aplicaciones usando Frappe.

--- #### 1. Python Frappe usa Python (v2.7) como lenguaje de parte del servidor. Es altamente recomendable aprender Python antes de iniciar a crear aplicaciones con Frappe. 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 Frappe, 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_base_url }}/user/es/tutorial/app) usando Frappe.