Programação Funcional em Swift: dos fundamentos aos padrões avançados
Programação Funcional em Swift: dos fundamentos aos padrões avançados
Resumo:
Este livro é um guia prático de programação funcional (PF) na linguagem Swift para desenvolvedores iOS e macOS. Ao contrário de muitos recursos que tratam a PF como teoria abstrata, esta edição foca em técnicas concretas e aplicáveis no desenvolvimento do dia a dia.
Você aprenderá como a abordagem funcional ajuda a escrever código mais previsível, testável e executado em paralelo. Swift, sendo uma linguagem multiparadigma, oferece excelentes oportunidades para aplicar PF — desde closures e genéricos até protocolos com Associated Types.
O que você encontrará no livro:
- Fundamentos da PF: funções puras, imutabilidade, ausência de efeitos colaterais.
- Trabalho com coleções: map, flatMap, filter, reduce — não apenas sintaxe, mas uma filosofia de processamento de dados.
- Tipos opcionais como mônadas: compreensão profunda de Optional, encadeamento e trabalho com nil.
- Composição de funções: construção de operações complexas a partir de funções simples.
- Padrões avançados: functores, functores aplicativos, mônadas (Result, Future, Promise).
- Programação reativa: relação da PF com Combine e RxSwift.
- Testes: como o código funcional simplifica a escrita de testes unitários.
Para quem é este livro:
- Desenvolvedores iOS/macOS com pelo menos 1 ano de experiência que desejam ir além do MVC e UIKit.
- Desenvolvedores familiarizados com POO, mas que desejam aprender um paradigma alternativo.
- Aqueles que querem escrever código fácil de refatorar e manter.
O livro contém muitos exemplos de código que podem ser aplicados imediatamente em projetos reais. Você aprenderá a evitar estado mutável, usar closures de forma eficiente e construir arquiteturas de aplicativos baseadas em princípios funcionais. Atenção especial é dada a cenários práticos: processamento de requisições de rede, trabalho com Core Data, animação e lógica de UI.
Após a leitura, você será capaz de combinar com confiança POO e PF, escolhendo a melhor ferramenta para cada tarefa, e escrever código Swift que funcione de forma estável em ambientes multithread.