IPA 앱을 설치하지 않고 앱 안에서 실행하며 앱별 여러 컨테이너를 지원하는 iOS 앱 런처입니다.
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
Xcode 또는 Package.swift에 패키지 의존성을 추가합니다
- 2
코드에서 라이브러리를 임포트합니다
import ComposableArchitecture - 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 통계는 매일 갱신됩니다.
관련 프로젝트
AI 코딩 도우미가 현대적이고 올바른 SwiftUI 코드를 작성하도록 돕는 에이전트 스킬
네트워크 트래픽, 성능, 뷰, 로그와 앱 데이터를 살펴볼 수 있는 플로팅 디버그 메뉴를 제공하는 iOS 앱용 인앱 디버깅 툴킷입니다.
Apple Foundation Models를 통해 모든 AI 처리가 기기에서 이뤄지는 macOS 및 iOS 문서 채팅 앱입니다.
직접 Xcode에서 빌드할 수 있는 Telegram iOS 메신저 앱의 공식 소스 코드입니다.