Turbo Streams: WebSockets
O curso trata de Turbo Streams entregues por WebSockets, com o roadmap público de uma aplicação Rails como exemplo. Ele explica a tag turbo-stream e seus verbos de ação, como o turbo_stream_from abre uma inscrição e por que o nome do stream colocado na página é assinado. Depois acompanha os broadcasts feitos no servidor por três service objects. Mostra o que a ação refresh faz quando há morph e preservação de rolagem. Também compara broadcasts explícitos em services com callbacks de model como broadcasts_refreshes. A última aula segue uma reordenação feita por um admin do começo ao fim.
O que você vai aprender
- ✓O formato da tag turbo-stream e suas sete ações básicas
- ✓Inscrição num stream com turbo_stream_from
- ✓Como nomes de stream assinados barram inscrições adulteradas
- ✓Broadcast a partir de service objects com broadcast_refresh_to
- ✓Como o refresh funciona com morph e preservação de rolagem
- ✓Broadcasts explícitos em services comparados a callbacks de model
O que uma tag turbo stream realmente é
Um <turbo-frame> (curso anterior) espera ser chamado: um link ou formulário o mira, e o conteúdo dele é trocado. Um <turbo-stream> funciona ao contrário. É uma instrução pequena, que se descreve sozinha, chega e age por conta própria, tenha alguém clicado em algo na página ou não.
Ler a aula completa grátis →Currículo
7 aulasO que uma tag turbo stream realmente é
Apresenta a tag turbo-stream, suas sete ações básicas e como o turbo_stream e o format.turbo_stream a montam.
Se inscrevendo com turbo_stream_from
Mostra como o turbo_stream_from abre uma inscrição WebSocket num stream com nome fixo no roadmap público.
Nomes de stream assinados
Explica por que o turbo_stream_from coloca um nome de stream assinado e como o canal recusa tokens adulterados.
Transmitindo do servidor
Acompanha três service objects que chamam broadcast_refresh_to no stream catalog_roadmap, ligados aos inscritos só pelo nome.
O que refresh realmente faz
Explica como a ação refresh difere das ações com alvo e como morph e rolagem preservada a suavizam.
Broadcasts explícitos vs. callbacks de model
Compara o callback broadcasts_refreshes no model com broadcasts explícitos e mostra por que a aplicação os mantém em services.
Juntando tudo: uma reordenação, ao vivo
Segue uma reordenação de curso pelo broadcast no service, pela inscrição assinada, pelo refresh e pelo morph.