Estas ante una guía de estudios en español con material gratuito y de gran calidad orientado a personas que quieran aprender Python con el objetivo de desarrollar aplicaciones web. La estructura esta diseñada para seguirse punto por punto en el orden que está expuesto. En caso contrario se corre el riesgo de no comprender los conceptos.
Te encontrarás teoría y práctica. Los proyectos son retos para demostrar lo aprendido, además de consolidar los conocimientos adquiridos. ¡No te los saltes!
1. Primeros Pasos: Cliente-Servidor
Antes de empezar una aplicación, es necesario entender el concepto de programación de lado-servidor. Para ello, se recomienda realizar los siguientes tutoriales:
- Introducción al lado servidor
- Visión General Cliente-Servidor
- Frameworks Web de lado servidor
- Seguridad de Sitios Web
Ahora ya estamos preparados para empezar a programar.
2. Lenguaje de programación: Python
Después de entender los elementos básicos de como se estructura una aplicación web, es hora de empezar a programar. Para ello, se recomienda realizar el famoso tutorial de Freecodecamp Aprender a programar en Python desde cero.
A continuación ya estaremos medianamente instruidos para aprender a usar un Framework.
3. Framework: Django
Un framework es como un kit de herramientas que nos automatizarán labores tediosas a la hora de crear aplicaciones web. Django es uno de los frameworks más populares de Python. Para aprender a usarlo, se recomienda realizar el tutorial oficial de Django.
Una vez finalizado el tutorial, es hora de empezar a practicar. Para ello, se recomienda realizar el siguiente reto:
Proyecto: microblogging
Crea una web donde diferentes usuarios puedan socializar entre ellos, al más estilo Twitter o Mastodon.
Páginas
- Login: email y contraseña.
- Registro: email, contraseña y repetir contraseña.
- Timeline: página donde cada usuario podrá ver listado con todos los mensajes (publicaciones), tanto suyos como de otras personas. Debe existir la posibilidad de borrar los mensajes propios. Además la página estará protegida, no podrá visualizarla nadie sin una sesión abierta.
- Añadir nueva publicación.
- Modificar perfil: Nombre de usuario y avatar.
Información de ayuda.
No es necesario enviar emails, ni desplegar, ni integrar en Docker.
4. API: Django REST Framework
Un API es una interfaz de programación de aplicaciones para comunicar diferentes aplicaciones entre sí. Para aprender seguiremos el tutorial Django REST Framework.
Proyecto: API de cocina
Debes construir una API para publicar recetas de cocina.
Como mínimo debe disponer de los siguientes Endpoints:
- CRUD de recetas.
/recetas/
GET, POST
/recetas/<id>/
GET, PUT, DELETE
- CRUD de categorías.
/recetas/categorias/
GET, POST
/recetas/categorias/<id>/
GET, PUT, DELETE
- CRUD de comentarios.
/recetas/comentarios/
GET, POST
/recetas/comentarios/<id>/
GET, PUT, DELETE
Dificultad añadida
Necesitas identificarte para crear/modificar/borrar cualquier endpoint (POST, PUT, DELETE) pero, en cambio, son públicos los endpoints de lectura (GET).
Proyecto: API de máquina de cafés
Debe poder realizarse un pedido de un café. Además, se podrá consultar el historial de pedidos, modificar y cancelar cualquier pedido.
Contendrá 2 tablas: Tipos de cafés y pedidos.
Sus Endpoints serán:
maquina-cafe/tipos/
GET, POST
maquina-cafe/tipos/<id>/
GET, PUT, DELETE
maquina-cafe/pedidos/
GET, POST
maquina-cafe/pedidos/<id>/
GET, PUT, DELETE
Dificultad añadida
Cada pedido se servirá 5 minutos después de crearse. Una vez transcurra el tiempo, no se podrá ni modificar ni borrar.
5. WebSockets
Los WebSockets son un protocolo permite la comunicación bidireccional en tiempo real. Para aprender a implementarlo en Django recomiendo el tutorial Django para hacer un chat asíncrono y salas.
Proyecto: Chat
Crea un chat donde los usuarios puedan comunicarse entre ellos.
Dificultad añadida
Crea salas privadas donde puedan hablar los usuarios.
6. Despliegue
Docker es un sistema que permite democratizar la ejecución que procesos (no importa si estas en Windows, Mac o Linux, funcionará) y el despliegue de aplicaciones. Para aprender a usarlo, puedes realizar el tutorial Guía de Docker para principiantes: cómo crear tu primera aplicación Docker. Orientado a Python puedes leer Docketizar Flask con PostgreSQL.
Bibliografía
-
Libro avanzado Django: Django 4 By Example
-
Libro sobre realtime en Django: Building SPAs with Django and HTML Over the Wire
{{ comments.length }} comentarios