2. Quem sou eu?
Izabela Guerreiro
Desenvolvedora Backend na Juntos Somos Mais
izaguerreiro
izaguerreiro
/in/izabela-dos-santos-guerreiro/
www.izaguerreiro.me
3. Expectativa
- Compreensão sobre o que é o framework FastAPI
- Conhecimento necessário para criar sua primeira API usando esse
framework
4. Agenda
- Conceitos básicos de Python
- Outros frameworks Python
- Sync e Async
- O que é FastAPI e como usá-lo na prática
- Encerramento
5. Python
- Simples
- Multiplataforma
- “Baterias” inclusas
- Lento
- Alto nível
- Tipagem dinâmica
- Linguagem interpretada
- Global interpreter lock (GIL)
6. Global Interpreter Lock (GIL)
- Impede multithreading no CPU
- Afetam programas que exigem CPU-bound
- Não afeta multithreading de I/O
- Biblioteca multiprocessing
11. Principais motivações para usar assincronismo
- Remover gargalos na aplicação
- Otimizar tarefas (reduzindo o tempo gasto)
- Melhorar o aproveitamento de recursos de hardware
12. O que é FastAPI?
- Framework web minimalista
- Criado por Sebastián Ramírez (@tiangolo)
- Primeiro commit em 2018 e apresentação em 2019
- 19k estrelinhas
- 1.3k fork
- Foco em REST
- Python 3.6+
13. Quem já está usando?
https://eng.uber.com/ludwig-v0-2/
https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072
15. Rápido
- Alta performance, equivalente a NodeJS e Go
- Topo do rank de performance de Python
- built on top Starlette e Pydantic
16. Starlatte
- Kit de ferramentas ASGI
- Frameworks: Responder, FastAPI e Flama
- Suporte a GraphQL, WebSocket, Session, Cookies
17. Pydantic
- Validação de dados
- Gerenciamento de configurações
- Type hints
- Conversão automática de tipos
18. Baseado em Python Type Hints
- Verificação de tipos
- Erros de tipos
- Autocomplete
19. Baseado em padrões
- OpenAPI (Swagger)
- JSONSchema
- OAuth2
- Documentação automática
de APIs
- Open Source
20. Fácil
- Fácil de aprender
- Fácil de usar
- Menos código, menos bugs
- Rápido para codar
- Documentação incrível
21. Benchmark
Teste de estresse:
- Cluster 4 CPUs 16GB de ram
- 500 threads para consultar uma sequência aleatória de comprimento
aleatório em uma tabela com 1 milhão de campos varchar (255)
Fonte: https://twitter.com/Manjusaka_Lee/status/1259265066412593152/photo/1