Repolode
pointfreeco

pointfreeco/swift-composable-architecture

Uma biblioteca Swift para criar apps nas plataformas Apple com gerenciamento de estado consistente, funcionalidades compostas, controle de efeitos colaterais e forte suporte a testes.

Estrelas
14,979
Forks
1,678
Issues abertas
26
Último commit
há 14 dias

O que é?

The Composable Architecture (TCA) é uma biblioteca Swift para criar aplicativos de forma consistente e testável. Ela estrutura uma funcionalidade em torno de um tipo State, um tipo Action, um Reducer que atualiza o estado e retorna efeitos, e um Store que executa a lógica e controla a UI no SwiftUI ou UIKit.

Funcionalidades grandes podem ser divididas em componentes menores e isolados e, depois, combinadas novamente, o que favorece bases de código modulares distribuídas entre vários targets do Xcode ou pacotes Swift. Efeitos colaterais, como requisições de rede, são retornados pelos reducers como valores, para que possam ser substituídos por dependências mock nos testes. A biblioteca inclui um TestStore que verifica, passo a passo, como o estado muda à medida que ações são enviadas e os efeitos retornam dados.

O projeto oferece suporte a iOS, macOS, iPadOS, visionOS, tvOS e watchOS, e inclui vários apps de exemplo, como Todos, Tic-Tac-Toe, Voice Memos e SyncUps, além de documentação e artigos sobre navegação, dependências e testes.

Recursos principais

  • 01Modela o estado das funcionalidades com tipos de valor simples e atualizações orientadas por Action.
  • 02Combina funcionalidades grandes a partir de reducers menores, que podem ficar em módulos separados.
  • 03Retorna efeitos colaterais pelos reducers, permitindo substituí-los nos testes.
  • 04Oferece um TestStore para verificar, passo a passo, o estado e os efeitos.
  • 05Inclui um sistema de dependências para injetar implementações de produção e de teste.
  • 06Funciona com SwiftUI e UIKit nas plataformas Apple.

Casos de uso

  • Criar um app iOS com SwiftUI e várias telas que compartilham estado.
  • Dividir um projeto grande do Xcode em módulos de funcionalidades com limites bem definidos.
  • Escrever testes unitários e de integração para a lógica do app que envolve chamadas de rede.
  • Migrar um app UIKit para uma arquitetura unidirecional e testável.

Início rápido

  1. 1

    Adicione a dependência do pacote no Xcode ou no Package.swift

  2. 2

    Importe a biblioteca no seu código

    import ComposableArchitecture
  3. 3

    Defina um @Reducer com State, Action e body e, em seguida, crie um Store no app

Antes de usar

  • Compatível apenas com plataformas Apple (iOS, macOS, iPadOS, visionOS, tvOS e watchOS).
  • É preciso aprender os conceitos próprios (state, actions, reducers, effects e stores) antes de o uso parecer natural.

Tópicos

Perguntas frequentes

O que é swift-composable-architecture?
Uma biblioteca Swift para criar apps nas plataformas Apple com gerenciamento de estado consistente, funcionalidades compostas, controle de efeitos colaterais e forte suporte a testes. The Composable Architecture (TCA) é uma biblioteca Swift para criar aplicativos de forma consistente e testável. Ela estrutura uma funcionalidade em torno de um tipo State, um tipo Action, um Reducer que atualiza o estado e retorna efeitos, e um Store que executa a lógica e controla a UI no SwiftUI ou UIKit.
swift-composable-architecture é gratuito? Qual é a licença?
swift-composable-architecture é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
swift-composable-architecture ainda é mantido?
Manutenção ativa. O último commit de swift-composable-architecture foi em 6 de out. de 2026.
Para que posso usar swift-composable-architecture?
Criar um app iOS com SwiftUI e várias telas que compartilham estado. Dividir um projeto grande do Xcode em módulos de funcionalidades com limites bem definidos. Escrever testes unitários e de integração para a lógica do app que envolve chamadas de rede. Migrar um app UIKit para uma arquitetura unidirecional e testável.
Como instalar swift-composable-architecture?
Adicione a dependência do pacote no Xcode ou no Package.swift Importe a biblioteca no seu código: import ComposableArchitecture Defina um @Reducer com State, Action e body e, em seguida, crie um Store no app
Onde consigo swift-composable-architecture?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pointfreeco/swift-composable-architecture

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados