Guia
Este guia ajuda você a aprender sistematicamente RxJS em um ambiente TypeScript. Ao progredir pelas seções abaixo em ordem, você pode obter uma compreensão estruturada de RxJS desde os fundamentos até conceitos avançados.
Índice
1. Introdução ao RxJS
- Primeiros Passos
- Configurando Seu Ambiente de Aprendizado
- O que é RxJS?
- O que é um Stream?
- Promise vs. RxJS
2. Fundamentos de Observable
- O que é um Observable?
- Como Criar um Observable
- Streaming de Eventos
- Eventos Não Utilizáveis com fromEvent
- Lista de Eventos
- Ciclo de Vida do Observable
- Cold Observables e Hot Observables
3. Creation Functions
- O que são Creation Functions?
- Creation Functions Básicas - of, from, fromEvent, interval, timer
- Funções de Geração em Loop - range, generate
- Funções de Comunicação HTTP - ajax, fromFetch
- Funções de Combinação - concat, merge, combineLatest, zip, forkJoin
- Funções de Seleção e Partição - race, partition
- Funções Condicionais - iif, defer
- Funções de Controle - scheduled, using
4. Entendendo os Operadores
- Visão Geral dos Operadores
- Conceitos de Pipeline
- Operadores de Transformação - map, scan, mergeMap, switchMap, relacionados a buffer, relacionados a window, etc.
- Operadores de Filtragem - filter, take, debounceTime, throttleTime, distinct, etc.
- Operadores de Combinação - concatWith, mergeWith, withLatestFrom, operadores *All, etc.
- Operadores Utilitários - tap, delay, retry, finalize, takeUntil, etc.
- Operadores Condicionais - defaultIfEmpty, every, isEmpty, etc.
- Multicasting - share, shareReplay, etc.
5. Subjects e Multicasting
6. Tratamento de Erros
- Estratégias de Tratamento de Erros
- Dois Locais para Tratamento de Erros
- Integrando try-catch com RxJS
- retry e catchError
- finalize e complete
7. Utilizando Schedulers
- Controlando Processamento Assíncrono
- Tipos e Uso de Scheduler
- Suplemento: Fundamentos de Task e Scheduler
8. Técnicas de Depuração RxJS
- Visão Geral das Técnicas de Depuração
- Cenários Comuns de Depuração
- Ferramentas de Depuração Personalizadas
- Depuração de Performance
9. Técnicas de Teste
10. Coleção de Anti-Padrões RxJS
- O que São Anti-Padrões?
- Erros Comuns e Soluções
- Declarações if Aninhadas em subscribe
- Misturando Promises e Observables
- Inferno de Uma Linha e Separação de Responsabilidades
- Checklist de Prevenção de Anti-Padrões
11. Superando Dificuldades com RxJS
- Por que RxJS é Difícil
- Barreira de Compreensão Conceitual
- O Obstáculo do Gerenciamento de Ciclo de Vida
- Dilemas de Seleção de Operadores
- Entendendo Timing e Ordem
- Dificuldade com Gerenciamento de Estado
- Combinando Múltiplos Streams
- Desafios de Depuração
13. Coleção de Padrões Práticos
- Visão Geral dos Padrões Práticos
- Tratamento de Eventos de UI - Cliques, rolagens, arrastar e soltar, etc.
- Chamadas de API - Comunicação HTTP, processamento paralelo/serial, tratamento de erros
- Tratamento de Formulários - Validação em tempo real, salvamento automático, coordenação de múltiplos campos
- Processamento de Dados em Tempo Real - WebSocket, SSE, Polling, gerenciamento de conexão
- Estratégias de Cache - Cache de dados, TTL, invalidação, suporte offline
- Padrões de Tratamento de Erros - Erros em chamadas de API, estratégias de retry, tratamento global de erros
- Ramificação Condicional em Subscriptions - Evitando ramificação dentro de subscriptions, métodos de ramificação dentro de pipelines
Apêndice
- Visão Geral do Apêndice
- Desenvolvimento Embarcado e Programação Reativa
- Padrões Reativos Além do RxJS
- Mapa de Arquitetura Reativa
NOTE
Este guia é estruturado para aprofundar sua compreensão de RxJS de maneira gradual e sistemática. Sinta-se à vontade para consultar qualquer seção conforme necessário.