TCA 공부 생각 기록장
TCA도 공부해볼까 하는데, 아키텍처가 가지는 장점도 분명하지만, 개인적으로 현 시점에서는 단점이 치명적이라 도입에는 어려울 것 같다는 생각이 듦. 기존 프로젝트 코드를 대체하는 형태로 가야하는데, TCA 규격을 다 맞춰주는게 비용이 너무 크고, 그에 대비해서 얻는 이점이 생각보다 크지 않다고 느낌.
UIKit이든 SwiftUI든 정말 중요한 건 객체지향에 대한 이해도 같은데, TCA보단 RIBs 쓰는게 더 낫지 않을까란 생각.
히스토리
- 2023.01.16
- 초기 포스팅 TCA 0.40 버전
- ReactorKit을 주력으로 사용하고 있는데, 요즘 핫하대서 보기로.
- 전반적으로 비슷한 느낌이긴한데, 이제 막 만들어지는 것 같음.
- 2023.10.18
- TCA 1.0.0 출시로 인해 대격변 크게 의미가 없는 상태
- 사유: TCA 1.0.0를 공부하려고 하는데, 변화가 너무 빠르고 많아서 의미가 없을 것 같다는 생각. 다른거 공부하다가 안정적으로 되었을 때 다시 보는걸로
- 2024.11.19
- TCA 1.16.0 출시로 인해 기존 프로젝트 마이그레이션을 위해 학습 고민중.
- 1.7.0 마이그레이션 가이드도 존재할 만큼 변화가 많고 빠른데, 사실상 메이저 버전 올리는 정도로 변화가 많다고 느낌
- SwiftUI의 발전 속도도 빨라서, TCA 팀 규모를 고려했을 때 팔로업이 가능할지 의문
- swift.org에서 메인 테이너가 자주 보이는데, 평생 이렇게 유지가 가능할지 의문
- 다른 것을 허용하기가 어려울 정도로 아키텍처에 너무 강하게 묶이는 느낌이라서, 서비스에 도입해도 될지 의문
- 개인적으로 타겟의 익스텐션이나 WWDC 신기능 발표되었을 때 TCA에서 발생하는 몇가지 문제들로 인하여, 기능을 차선책을 활용해 개발하거나, 생산성이 크게 저하되는 것 같음.
- 적절한 자유도는 개발자 개인의 동기부여와도 연관되어 있다고 생각하는데 코드 퀄리티 향상으로 이어진다고 생각해서 TCA 아직까지 고민
- RIBs, Clean Architecture, 모듈화 정도면 현재까지 충분하다고 느껴지는데, 더 쉽고 단순해지려고 하는 SwiftUI에 TCA를 도입하는게 나은 선택인지 고민
- TCA 없이 SwiftUI를 사용하고 있는데 사내 서비스 운영에도 문제가 없음.
- 오히려 TCA 오픈소스를 버그를 파악하는데, 시간을 엄청 잡아 먹었던 기억이 있어서 안쓰는게 생산성도 더 좋다고 느낌
- 포인트프리에서 TCA 강의가 유료라서 아키텍처 생태계를 구축하기엔 좋은 방법 같지는 않아 보임.
- 사이드 프로젝트에서도 TCA 도입했었는데, 개발 외적으로 TCA에서 오는 팀원들이 느끼는 피로감이 매우 큰 것 같다는 느낌.
- 여러모로 고민해보다가 학습을 조금 더 기다려 보는걸로. AI 다시하자
- 회사는 TCA란 교과서를 만드는 조직이 아니고 서비스를 운영하는 조직이라서 TCA 보다는 더 스테이블한 아키텍처 사용이 아직까지 맞는것 같음
'apple > TCA' 카테고리의 다른 글
[TCA] SharedState (1) | 2023.09.27 |
---|---|
[TCA] OptionalState (IfLetCase) (0) | 2023.09.27 |
[TCA] FocusState (0) | 2023.09.27 |
[TCA] Binding (0) | 2023.09.27 |
[TCA] Tutorial #5 (Multiple presentation destinations) (0) | 2023.09.24 |