티스토리 뷰

반응형

 

 

 

 

The Composable Architecture란 무엇일까?

 

GitHub - pointfreeco/swift-composable-architecture: A library for building applications in a consistent and understandable way,

A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind. - GitHub - pointfreeco/swift-composable-architecture: A library for bu...

github.com

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 TCA, 이벤트 발생 시 Action, State, Reducer 동작과정

TCA는 Point-free에서 제안한 아키텍쳐로 The Composable Architecture라고 하며, Store의 State 변화에 따라 View를 업데이트해주는 상태 기반의 단방향 아키텍쳐입니다. 저는 개인적으로 개발한 앱에 TCA를 도

0urtrees.tistory.com

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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 31
글 보관함