TCA 5

[TCA] Environment vs. DependencyValues

🧘 시작하기 전에…저는 TCA를 최신 버전으로 다루다 보니 Environment보다는 DependencyValues를 사용하였는데요.TCA를 학습하는 과정에서 Environment에 대한 글은 많았는데 DependencyValues에 대한 내용은 부족해서 어려움이 많았습니다.또한 둘이 분명 외부 객체를 담당한다는 점에서 같은 역할을 하는 것 같은데 차이가 무엇인지 자세히 알고 싶어 직접 적어 봤습니다.🔍 Environment와 DependencyValues의 차이점Environment와 DependencyValues는 모두 의존성 주입(Dependency Injection)을 담당하는 개념이지만,최근 TCA의 업데이트로 Environment의 역할이 DependencyValues로 대체되면서 두 방식..

TCA 2024.07.09

[TCA] Effect? DependencyValues? (예제 포함)

🧘 시작하기 전에…이전 글에서 버튼을 눌러 카운트를 증가 또는 감소시킬 수 있는 예제를 통해 최신 버전 TCA에 대해 간단히 설명했는데요.이번 글에서는 조금 더 심화적으로 Effect와 DependencyValues, 그리고 네트워크 통신을 진행할 경우를 알아보도록 하겠습니다.🔍 TCA의 Effect와 DependencyValues 설명TCA에서는 비동기 작업(네트워크 요청, 타이머, 데이터 저장 등)은 Reducer 내부에서 직접 실행할 수 없고, Effect를 사용하여 처리 해야 합니다.또한, 최신 TCA에서는 Environment 대신 DependencyValues를 사용하여 의존성을 주입(Dependency Injection, DI) 및 관리합니다.🔍 Effect란? (비동기 작업을 처리하는..

TCA 2024.07.08

[TCA] Client 훑고 가기…

🧘 시작하기 전에…이번 글은 TCA에서 의존성 주입을 다룰 때 등장하는 Client에 대한 간단한 설명입니다.개인적으로는 의존성 주입에 대해 자세히 알아보기 전에 한 번 훑고 가면 좋을 것 같아 이렇게 먼저 작성해봅니다!📌 Client란?TCA에서 Client는 특정 기능(예: 네트워크 요청, 데이터베이스 접근, 파일 저장 등)을 추상화한 객체입니다.즉, 외부 시스템(서비스)와 상호작용하는 역할을 하는 구조체(또는 클래스)로, 의존성 주입(Dependency Injection)을 쉽게 하기 위해 사용됩니다.Client의 핵심 개념외부 의존성을 추상화 → API 요청, DB 접근 등을 직접 호출하는 대신, 이를 추상화한 Client를 사용하여 관리Mocking이 용이 → 테스트 시 실제 API를 호출하..

TCA 2024.07.05

[TCA] 최신 버전 TCA의 동작 과정 (예제 포함)

🧘 시작하기 전에…기존 글에서 TCA를 이루는 기본 요소(?)에 대해 알아보고 왔는데요.이번 글에서는 TCA의 핵심 개념과 최신 버전의 예제를 다뤄보겠습니다.학습하면서 가장 크게 느낀 점은, 많은 블로그 글과 ChatGPT 답변이 과거 버전을 기준으로 하고 있어 최신 버전을 설치했을 때 오류가…이에 학습 과정이 훨씬 어려웠는데, 이번 글을 통해 새롭게 학습하는 분들이 같은 어려움을 겪지 않도록 최신 버전을 기준으로 정리해보았습니다.🔍 TCA가 해결해주는 핵심 개념들(1) 상태 관리 🛠애플리케이션에서 데이터를 효율적으로 관리하는 방법을 제공.상태를 단순한 값 타입(struct)으로 정의하고 관리.여러 화면에서 동일한 상태를 공유할 수 있고, 한 곳에서 변경된 상태를 다른 곳에서도 즉시 반영 가능.예를..

TCA 2024.07.05

[TCA] Redux 패턴 영향? 단방향?

🧘 시작하기 전에…TCA를 시작하기 전에 자주 언급되는 개념들이 있습니다.Redux 패턴의 영향을 받았다, 단방향 아키텍처를 따른다 등인데, 처음 접하면 이런 용어들이 오히려 이해를 방해할 수도 있습니다.그래서 먼저 이 개념들을 간단히 정리한 후, 본격적으로 TCA에 대해 알아보도록 하겠습니다!🔍 TCA가 Redux 패턴에서 영향을 받은 핵심 원칙TCA는 Redux 패턴에서 영향을 받아 "단일 상태(Single State)와 순수 함수 기반의 액션 처리(Pure Function Action Handling)" 를 따릅니다.지금부터 이게 무슨 의미인지 하나씩 쉽게 풀어서 설명해볼게요.1️⃣ 단일 상태(Single State)란?👉 앱의 모든 상태(State)를 하나의 struct 안에서 관리한다.이 ..

TCA 2024.06.30