본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

SwiftUI 상태 관리부터 테스트까지 iOS 개발자를 위한 TCA 1.0 상세페이지

컴퓨터/IT 개발/프로그래밍

SwiftUI 상태 관리부터 테스트까지 iOS 개발자를 위한 TCA 1.0

판매가 무료
  • 선물하기
SwiftUI 상태 관리부터 테스트까지 iOS 개발자를 위한 TCA 1.0 표지 이미지

SwiftUI 상태 관리부터 테스트까지 iOS 개발자를 위한 TCA 1.0작품 소개

<SwiftUI 상태 관리부터 테스트까지 iOS 개발자를 위한 TCA 1.0> 본 서적은 2023년에 정식으로 배포된 Swift의 상태관리 및 의존성 라이브러리인 TCA의 1.0.0 버전의 스터디를 기반으로 작성된 서적입니다. 해당 책은 SwiftUI에 적합한 상태관리 방법에 대한 논의로 시작하여, TCA를 활용한 아키텍쳐 및 테스트에 대해 다루고 있으며, SwiftUI와 MVVM 등의 모든 기반지식을 담고 있지는 않습니다.

SwiftUI 앱에 MVVM을 적용한 프로젝트를 경험해 본 뒤에, 새로운 아키텍쳐 패턴 패러다임을 경험해보고 싶은 분들께 추천드리고 싶습니다. 모든 내용은 TCA의 공식문서와 Point-Free의 공식 세션, 공식 문서 및 웹 상에서 이루어진 개발자 커뮤니티의 discussion 게시물들을 기반으로 작성되었으며, 집필진이 직접 TCA 1.0.0을 사용하면서 깨달은 점들을 가미하여 조금 더 이해하기 쉬운 레벨에서 작성이 되었습니다. 책이 나오기까지 힘써주신 위니브 임직원에게, 짧지 않은 시간 함께 집필에 참여한 저자분들, 그리고 이 책이 탄생할 수 있도록 TCA와 Point-Free의 모든 자료 및 예시코드의 사용허가를 내려준 Point-Free의 개발자 Stephen과 Brandon에게 감사의 인사를 드립니다.
또한 본 서적의 자료출처의 90% 이상이 Point-Free의 공식 사이트의 세션과, TCA Github이므로 다음과 같이 출처를 밝히는 바입니다.
Point-Free Official Website: https://www.pointfree.co/
TCA Github: https://github.com/pointfreeco/swift-composable-architecture


저자 소개

강창현

한줄소개: Point-Free let SwiftUI free
GitHub: https://github.com/Changhyun-Kyle
Email: changhyun.kyle@gmail.com

---

김민호

한줄소개: 치어리더형 개발자
GitHub: https://github.com/stealmh
Email: stealmh@gmail.com

---

박진형

한줄소개: TCA 1.0 얼리어답터
GitHub: https://github.com/JINHYUNGP
Email: alparkha96@gmail.com

---

이승준

한줄소개: 영문명 Celan(첼란)으로 활동하고 있는 철학과 출신 개발자
GitHub: https://github.com/valselee
Email: sollleky72@gmail.com

---

정세훈

한줄소개: iOS 파이팅
GitHub: https://github.com/NewHooon
Email: wtd120120@gmail.com

---

진태영

한줄소개: 맛있는 코드, 뜯어서 남 주는 개발자
GitHub: https://github.com/elisha0103
Email: elisha01039@gmail.com

---

추현호

한줄소개: 함께 도전하며 성장하는 개발자
GitHub: https://github.com/Achoo-kr
Email: hyunho4178@gmail.com

목차

Chapter 1. Hello TCA
1. Hello TCA


Chapter 2. TCA의 기본개념
1. TCA

2. 앱의 상태: State
2.1. 왜 State는 Equatable한 Struct인 이유

3. 상태 변화를 일으키는 모든 동작: Action
3.1. Action 네이밍 컨벤션

4. 변경을 처리한다: Reducer
4.1. func reduce(into:action:)와 body
4.2. Dependency
4.3. 부록: Reducer가 프로토콜로 바뀐 이유


Chapter 3. TCA의 기본개념(2)
1. Effect의 구현과 활용
1.1. Action에 따른 결과: Effect
1.2. 순수함수적인 Effect
1.3. 주요 메서드
1.4. Effect 활용하기(Side Effect)

2. Store와 ViewStore
2.1. scope(state:action:)
2.2. ViewStore가 나온 이유와 역할
2.3. WithViewStore
2.4. 부록: Store가 Thread Safe 하지 않은 이유


Chapter 4. TCA Binding
1. SwiftUI Binding VS TCA Binding

2. TCA Binding

3. 다양한 TCA의 Binding tools
3.1. Binding(get:send:) VS TCA Binding tools

4. View State Binding


Chapter 5. Dependency
1. TCA와 Dependency
1.1. ReducerProtocol 이전의 Dependency 관리 방식
1.2. ReducerProtocol 이후의 Dependency 관리 방식
1.2.1 Dependency 알아보기 - @Dependency
1.2.2 Dependency 알아보기 - DependencyKey
1.2.3 Dependency 알아보기 - DependencyValue

2. Overriding Dependency
2.1 TCA와 Overriding Dependency
2.2 ObservableObject와 Overriding Dependency

3. Dependency LifeTime


Chapter 6. Swift의 비동기 처리와 TCA에서의 응용
1. TCA와 비동기 처리
1.1 .run(priority:operation:catch:fileID:line:)
1.2 .run의 역할 살펴보기
1.3 MainActor, send
1.4 TCA 비동기 처리의 맥락 이해하기
1.5 구조화된 Task

2. 부록: Swift Concurrency의 역사 훑어보기


Chapter 7. MultiStore
1. ifLet
1.1. ifLet 생성자 살펴보기
1.2. ifLetStore
1.3. ifLetStore 생성자 살펴보기

2. forEach
2.1 forEach 생성자 살펴보기
2.2. ForEachStore
2.3. ForEachStore 생성자 살펴보기

3. ifCaseLet
3.1 ifCaseLet 생성자 살펴보기
3.2 SwitchStore
3.3 SwitchStore 생성자 살펴보기


Chapter 8. Navigation
1. Navigation
1.1. 트리 기반 Navigation
1.2. 스택 기반 Navigation
1.3. 트리기반 Navigation VS 스택 기반 Navigation

2. 트리 기반 Navigation 살펴보기
2.1. 열거형 상태
2.2. API 통합
2.3. Dismissal
2.4. 트리 기반 Navigation Testing

3. 스택 기반 Navigation 살펴보기
3.1. API 통합
3.2. Dismissal
3.3. StackState VS NavigationPath
3.4. 스택 기반 Navigation Testing


Chapter 9. TCA와 Testable Code
1. 유닛테스트

2. TCA와 Testable Code
2.1. TCA가 지향하는 Testable Code
2.2. 테스트를 위한 첫걸음
2.3. 예시 Reducer
2.4. 그 외 상황에 해당하는 테스트


Chapter 10. Wrap Up TCA 1.0
1. Wrap Up TCA 1.0


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전