Repolode
pointfreeco

pointfreeco/swift-composable-architecture

일관된 상태 관리와 조합 가능한 기능, 사이드 이펙트 제어, 강력한 테스트 지원을 제공하는 Apple 플랫폼 앱 개발용 Swift 라이브러리입니다.

스타
14,979
포크
1,678
열린 이슈
26
마지막 커밋
14일 전

어떤 프로젝트인가요?

Composable Architecture(TCA)는 일관되고 테스트하기 쉬운 방식으로 앱을 개발할 수 있게 해 주는 Swift 라이브러리입니다. State 타입, Action 타입, 상태를 업데이트하고 이펙트를 반환하는 Reducer, 로직을 실행하고 SwiftUI 또는 UIKit UI를 구동하는 Store를 중심으로 기능을 구성합니다.

규모가 큰 기능을 더 작고 독립적인 구성 요소로 나눈 뒤 다시 조합할 수 있어, 여러 Xcode 타깃이나 Swift 패키지로 구성된 모듈형 코드베이스를 지원합니다. 네트워크 요청과 같은 사이드 이펙트는 리듀서에서 값으로 반환하므로 테스트에서는 mock 의존성으로 대체할 수 있습니다. 라이브러리에 포함된 TestStore를 사용하면 액션을 보내고 이펙트가 데이터를 돌려주는 과정에서 상태가 단계별로 어떻게 바뀌는지 검증할 수 있습니다.

이 프로젝트는 iOS, macOS, iPadOS, visionOS, tvOS, watchOS를 지원합니다. Todos, Tic-Tac-Toe, Voice Memos, SyncUps를 비롯한 예제 앱과 내비게이션, 의존성, 테스트 관련 문서 및 아티클도 제공합니다.

핵심 기능

  • 01Action에 따른 업데이트로 기능의 상태를 간단한 값 타입으로 모델링합니다.
  • 02큰 기능을 별도 모듈에 둘 수 있는 작은 리듀서들로 조합합니다.
  • 03테스트에서 대체할 수 있도록 사이드 이펙트를 리듀서에서 반환합니다.
  • 04상태와 이펙트를 단계별로 검증하는 TestStore를 제공합니다.
  • 05실제 구현과 테스트 구현을 주입할 수 있는 의존성 시스템을 포함합니다.
  • 06Apple 플랫폼에서 SwiftUI와 UIKit을 지원합니다.

활용 사례

  • 상태를 공유하는 화면이 많은 SwiftUI iOS 앱 개발
  • 경계가 명확한 기능 모듈로 대규모 Xcode 프로젝트 분리
  • 네트워크 호출이 포함된 앱 로직의 단위 테스트 및 통합 테스트 작성
  • UIKit 앱을 단방향 흐름의 테스트 가능한 아키텍처로 마이그레이션

빠른 시작

  1. 1

    Xcode 또는 Package.swift에 패키지 의존성을 추가합니다

  2. 2

    코드에서 라이브러리를 임포트합니다

    import ComposableArchitecture
  3. 3

    State, Action, body가 포함된 @Reducer를 정의한 다음 앱에서 Store를 만듭니다

사용 전 알아둘 점

  • Apple 플랫폼(iOS, macOS, iPadOS, visionOS, tvOS, watchOS)만 지원합니다.
  • 자연스럽게 사용할 수 있으려면 고유한 개념(state, actions, reducers, effects, stores)을 먼저 익혀야 합니다.

토픽

자주 묻는 질문

swift-composable-architecture은(는) 무엇인가요?
일관된 상태 관리와 조합 가능한 기능, 사이드 이펙트 제어, 강력한 테스트 지원을 제공하는 Apple 플랫폼 앱 개발용 Swift 라이브러리입니다. Composable Architecture(TCA)는 일관되고 테스트하기 쉬운 방식으로 앱을 개발할 수 있게 해 주는 Swift 라이브러리입니다. State 타입, Action 타입, 상태를 업데이트하고 이펙트를 반환하는 Reducer, 로직을 실행하고 SwiftUI 또는 UIKit UI를 구동하는 Store를 중심으로 기능을 구성합니다.
swift-composable-architecture은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
swift-composable-architecture은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
swift-composable-architecture은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. swift-composable-architecture의 마지막 커밋은 2026년 10월 6일입니다.
swift-composable-architecture은(는) 어디에 사용할 수 있나요?
상태를 공유하는 화면이 많은 SwiftUI iOS 앱 개발 경계가 명확한 기능 모듈로 대규모 Xcode 프로젝트 분리 네트워크 호출이 포함된 앱 로직의 단위 테스트 및 통합 테스트 작성 UIKit 앱을 단방향 흐름의 테스트 가능한 아키텍처로 마이그레이션
swift-composable-architecture는 어떻게 설치하나요?
Xcode 또는 Package.swift에 패키지 의존성을 추가합니다 코드에서 라이브러리를 임포트합니다: import ComposableArchitecture State, Action, body가 포함된 @Reducer를 정의한 다음 앱에서 Store를 만듭니다
swift-composable-architecture은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pointfreeco/swift-composable-architecture

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트