Repolode
pointfreeco

pointfreeco/swift-composable-architecture

Biblioteca de Swift para crear apps en plataformas Apple con gestión de estado coherente, funcionalidades componibles, control de efectos secundarios y sólidas herramientas de prueba.

Estrellas
14,979
Forks
1,678
Issues abiertos
26
Último commit
hace 14 días

¿Qué es?

The Composable Architecture (TCA) es una biblioteca de Swift para crear aplicaciones de forma coherente y comprobable. Organiza cada funcionalidad en torno a un tipo State, un tipo Action, un Reducer que actualiza el estado y devuelve efectos, y un Store que ejecuta la lógica y controla la interfaz en SwiftUI o UIKit.

Las funcionalidades grandes se pueden dividir en componentes más pequeños y aislados y luego volver a integrarse, lo que facilita mantener bases de código modulares repartidas entre varios targets de Xcode o paquetes de Swift. Los efectos secundarios, como las solicitudes de red, se devuelven desde los reducers como valores, por lo que se pueden sustituir por dependencias simuladas en las pruebas. La biblioteca incluye un TestStore que permite comprobar paso a paso cómo cambia el estado al enviar acciones y recibir datos de los efectos.

El proyecto es compatible con iOS, macOS, iPadOS, visionOS, tvOS y watchOS, e incluye varias apps de ejemplo, como Todos, Tic-Tac-Toe, Voice Memos y SyncUps, además de documentación y artículos sobre navegación, dependencias y pruebas.

Funciones clave

  • 01Modela el estado de cada funcionalidad con tipos de valor simples y actualizaciones impulsadas por Action.
  • 02Permite componer funcionalidades grandes a partir de reducers más pequeños que pueden estar en módulos separados.
  • 03Devuelve los efectos secundarios desde los reducers para poder sustituirlos en las pruebas.
  • 04Incluye un TestStore para comprobar paso a paso el estado y los efectos.
  • 05Incluye un sistema de dependencias para inyectar implementaciones reales y de prueba.
  • 06Funciona con SwiftUI y UIKit en las plataformas Apple.

Casos de uso

  • Crear una app de iOS con SwiftUI y muchas pantallas que comparten estado.
  • Dividir un proyecto grande de Xcode en módulos de funcionalidades con límites claros.
  • Escribir pruebas unitarias y de integración para la lógica de una app que incluye llamadas de red.
  • Migrar una app de UIKit hacia una arquitectura unidireccional y comprobable.

Inicio rápido

  1. 1

    Añade la dependencia del paquete en Xcode o Package.swift

  2. 2

    Importa la biblioteca en tu código

    import ComposableArchitecture
  3. 3

    Define un @Reducer con State, Action y body, y luego crea un Store en tu app

Antes de usarlo

  • Solo es compatible con las plataformas de Apple (iOS, macOS, iPadOS, visionOS, tvOS y watchOS).
  • Antes de que su uso resulte natural, hay que aprender sus propios conceptos (state, actions, reducers, effects y stores).

Temas

Preguntas frecuentes

¿Qué es swift-composable-architecture?
Biblioteca de Swift para crear apps en plataformas Apple con gestión de estado coherente, funcionalidades componibles, control de efectos secundarios y sólidas herramientas de prueba. The Composable Architecture (TCA) es una biblioteca de Swift para crear aplicaciones de forma coherente y comprobable. Organiza cada funcionalidad en torno a un tipo State, un tipo Action, un Reducer que actualiza el estado y devuelve efectos, y un Store que ejecuta la lógica y controla la interfaz en SwiftUI o UIKit.
¿swift-composable-architecture es gratuito? ¿Qué licencia tiene?
swift-composable-architecture es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿swift-composable-architecture sigue mantenido?
Mantenimiento activo. El último commit de swift-composable-architecture fue el 6 oct 2026.
¿Para qué puedo usar swift-composable-architecture?
Crear una app de iOS con SwiftUI y muchas pantallas que comparten estado. Dividir un proyecto grande de Xcode en módulos de funcionalidades con límites claros. Escribir pruebas unitarias y de integración para la lógica de una app que incluye llamadas de red. Migrar una app de UIKit hacia una arquitectura unidireccional y comprobable.
¿Cómo se instala swift-composable-architecture?
Añade la dependencia del paquete en Xcode o Package.swift Importa la biblioteca en tu código: import ComposableArchitecture Define un @Reducer con State, Action y body, y luego crea un Store en tu app
¿Dónde consigo swift-composable-architecture?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pointfreeco/swift-composable-architecture

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados