Python focado no desenvolvimento de backend para web e APIs usando os principais frameworks do mercado como Django, Flask e FastAPI, neste treinamento criaremos um mesmo projeto cobrindo as principais necessidades do mercado web e usando os 3 principais frameworks.
Grade sujeita a pequenas alterações como inclusão de tópicos e mudançá de ordem.
Uma introdução para quem já tem noções de programação (ex: Já fez o treinamento Python BASE) e irá iniciar pela primeira no ambiente web, nesta parte falaremos sobre os conceitos primários da web como introdução aos principais protocolos e tecnologias e o funcionamento do modelo cliente-servidor.
- HTML e CSS
- Os principais componentes da arquitetura web client-server
- O protocolo HTTP
- Server Side Rendering
- URLs e formulários com HTML puro e CGI
- Processando requests com a lib WSGI embutida no Python
- Renderizando templates HTML com Jinja2
- O que é uma API e o que é REST?
- Criando um mini framework
Criar web apps com Python puro é divertido mas para melhor produtividade e padronização é sempre bom usar um framework bem estabelecido no mercado de tecnologia, nesta parte vamos conhecer os 3 principais e fazer um pequeno aplicativo em cada um deles.
- Motivos para usar e diferentes tipos de frameworks
- Criando um aplicativo simples usando os 3 principais frameworks
- a. Flask / FastAPI / Django
- a. Roteamento de URLS e views
- b. Processamento de requests
- c. Sessions e Cookies
- d. Templates HTML
- e. Adicionando bancos de dados SQL
- f. Plugins e ferramentas administrativas
- g. API Rest com JSON
- a. Flask / FastAPI / Django
- Dicas para escolher o melhor framework para o seu projeto
Nesta parte vamos colocar uma das aplicações que desenvolvemos em produção usando as principais stacks de tecnologia.
- Os protocolos web do Python - WSGI e ASGI 00 12 factors
- Os principais app servers para Python - gunicorn, uvicorn, uwsgi
- Configuração do proxy reverso - NGinx
- Serviços e configuração para Deploy em VM e VPS
- Containerizando uma aplicação Python
- Rodando a app no Kuberneters
Entre os 3 frameworks principais do Python o que tem se mostrado mais eficiente em termos de escalabilidade e modernização é o FastAPI e como ele segue a mesma filosofia do Flask iremos utilizar ele para desenvolver o nosso projeto do treinamento.
- Diferenças entre Sync e Async
- Estruturando uma aplicação com FastAPI
- Python moderno e o sistema de anotação de tipos
- Banco de Dados e gestão de migrations
- Preparando o projeto para testes e configurando o CI
- O que é Injeção de Dependencias
- Entendendo o fluxo de uma aplicação FastAPI/Starlete
- Roteamento de URLS
- Processamento de requests
- Middlewares
Nesta parte falaremos sobre login e dicas de segurança para a aplicação.
- Tipos de autenticação
- Criptografia de credenciais
- JWT e tokens
- SSO e Oauth
- Dicas de segurança no processando de requests
- Monitoramento
Vamos focar em um site tradicional com páginas html, templates e interface administrativa.
- Responses com renderização de templates
- Formulários HTML
- Servindo arquivos estáticos
- Streaming e Download
- Upload de arquivos
- Usando plugins para administração via web
- Usando plugins para administração via cli
Nesta parte vamos falar em detalhes sobre APIs e REST.
- URLs e modelagem RESTful
- Serializers
- OpenAPI spec
- Ferramentas para teste de API
- Implementando autenticação
- Performance de APIs
- Tasking System - Processamento em background
- Protocolo web sockets
- Serverless web applications