티스토리 뷰
The Composable Architecture란 무엇일까?
SwiftUI, Combine등과 함께 사용할 수 있는 아키텍쳐 개념 중, The Composable Architecture 라는 개념이 존재합니다. 오늘은 Composable Architecture repo의 일부 설명을 살펴보겠습니다.
The Composable Architecture (줄여서 TCA) 는 swift언어와 함수형 프로그래밍을 탐구하는 비디오 시리즈, Point-Free의 많은 에피소드들을 통해 설계되었습니다.
The Composable Architecture, 는 구성, 테스팅, 인체공학적으로 일관성있고 이해가능한 방식의 어플리케이션 빌딩을 도와주는 라이브러리입니다. TCA는 iOS, macOS, tvOS, watchOS 등의 다양한 플랫폼에서 SwiftUI, UIKit 등을 활용하여 사용할 수 있습니다.
The Composable Architecture (TCA)의 특징
TCA 라이브러리는 몇가지 핵심 도구를 제공하는데 이 도구들은 다양한 목적, 복잡도를 가진 어플리케이션을 빌드할때 사용될 수 있습니다. 어플리케이션을 빌딩할때 매일매일 마주할 수 있는 수많은 문제들을 해결하기 위해 따를 수 있는 설득력있는 스토리를 제공합니다. TCA의 특징은 아래와 같습니다.
1) 상태 관리 (State managemennt)
단순 값 타입을 사용하여 개발할 어플리케이션의 상태를 관리하거나 많은 화면 간의 상태를 공유하는 방법을 제공합니다. 이는 특정 화면의 변화를 다른 화면에서 즉시 관찰힐 수 있도록 도와줍니다.
2) 구성 (Composition)
큰 기능들을 작은 컴포넌트로 분해할 수 있도록 해줍니다. 분해된 작은 컴포넌트들은 격리된 모듈로 추출될 수 있으며, 기능의 형태를 구성하기 위해 쉽게 붙을 수 있습니다.
3) 사이드 이펙트 (Side Effects)
어플리케이션의 특정 부분이 최대한 테스트 가능하고, 이해가능한 방식으로 외부 세계와 소통할 수 있도록 도와줍니다.
4) 테스팅 (Testing)
아키텍쳐 상에 구축 된 기능들을 테스트할 뿐만 아니라, 많은 파트로 구성되어진 기능들의 통합 테스트를 작성할 수 있습니다. 또한 종단테스트(end-to-end tests)를 통해 사이드 이펙트가 어플리케이션에 어떤 영향을 주는지 이해할 수 있습니다. 이를 통해 개발자가 예상한 방식대로 비즈니스 로직이 돌아가고 있는지를 강력하게 보장할 수 있도록 해줍니다.
5) 인체공학(Ergonomics)
가능한 적은 수의 개념과 동작 파트만을 가진 단순한 API(Application Programming Interface)만으로 모든것을 수행할 수 있습니다.
지금까지 The Composable Architecture(TCA) 관련 개요 및 특징을 알아보았습니다. 많은 피드백 부탁드립니다. 감사합니다.
iOS TCA(The Composable Architecture) Action 이벤트 발생 시 동작과정 알아보기 ▼
'iOS 개발 > SwiftUI, Combine' 카테고리의 다른 글
iOS 앱 URL struct 사용, 웹페이지 이동하는 방법 (0) | 2022.09.18 |
---|---|
SwiftUI TextField 이외 빈 View 터치로 키보드 내리는 방법 (0) | 2022.09.12 |
SwiftUI 코드작성 결과 Preview로 띄워서 보는방법 (0) | 2022.02.20 |
Combine 기초, Publisher Subscriber 구독 간 동작방식 (0) | 2022.01.12 |
Combine 기초, Publisher Subscriber 등 주요 구성요소, 역할 (0) | 2022.01.09 |
- Total
- Today
- Yesterday
- swift알고리즘
- 프로토콜
- 백준알고리즘
- swift문제
- 알고리즘
- 개발자문서
- swift string
- createML
- Swift 알고리즘
- swift 문자열
- SwiftUI
- 스위프트
- ios
- swift reduce
- 백준swift
- 자연어처리
- 부스트코스
- 컬렉션
- 프로그래머스
- swift 기초
- publisher
- 프로그래머스swift
- 알고리즘문제
- swift언어
- 김프매매
- uikit
- Collection
- Protocol
- swift
- CoreML
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |