apple/TCA

TCA 공부 생각 기록장

lgvv 2023. 1. 16. 18:31

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