Python Brasil 2022

Suas preferências de localidade foram salvas. Acreditamos que temos um excelente suporte para inglês em pretalx, mas se você encontrar problemas ou erros, por favor entre em contato conosco!

Django, asyncio e websockets
21/10/2022 , Jaraqui - Vasco Vasquez

Será demonstrado um padrão para desenvolvimento de aplicações web em tempo real, utilizando signals do Django, com Channels, ASGI, REST Framework e Celery.


Desde que a ASGI foi implementada no Django, em 2019, que é possível dispor de toda a agilidade, escalabilidade e consistência desse framework para desenvolver aplicações em tempo real, utilizando websockets, sem inserir latência na propagação das atualizações do banco de dados para o navegador. Nesta palestra, será demonstrado um padrão para isso, usando como exemplo uma sala de chat.

Ao final, será lançado uma nova camada para o Django que torna o processo mais rápido, simples e elegante. O código é resultado de 20 meses de desenvolvimento e maturação em produção e será publicado na Python Brasil.

Tópicos:

  • Apresentação do palestrante e porquê agora, com ASGI, Django é O Framework
  • Apresentação do backend de uma aplicação de chat completa, síncrona, sem websockets, utilizando REST Framework. Este é o contexto de um projeto existente, em que será implementada atualização em tempo real por websockets.
  • Explicação do asyncio e a programação assíncrona, explicando o que está por trás, sem aprofundar, com foco na prática.
  • Apresentação do Django Channels
  • Implementação de um signal que envia atualizações do modelo direto pelo websocket.
  • Aprofundamento sobre asyncio, demonstrando como a latência é reduzida sem aumentar o consumo de recursos. Explicação sobre o broker (Redis / RabbitMQ)
  • Integração com Celery para tarefas em background
  • Apresentação de um novo módulo Django que torna todo esse processo muito mais simples, rápido e elegante.

Link: https://www.youtube.com/watch?v=GZm9w77WUkY

Asa

A Terra era criancinha ainda quando Asa começou a codar. Está voltando à Python Brasil depois de tanto tempo, que as edições de que participou nem aparecem mais no checkbox. Autor da lib OO, Sheet!