[Combine] Let's study Combine!
Let's study Combine!
SwiftUI Combine 공부
✅ 애플 공식 문서를 바탕으로 정리하였습니다.
https://developer.apple.com/documentation/combine
✅ Combine이란?
이벤트 처리 오퍼레이터들을 결합함으로써 비동기 이벤트의 핸들링을 사용자가 다룹니다!
조금 더 쉽게 말해보자면 Combine 프레임워크는 결국은 시간에 따라 값을 처리하기 위해 SwiftUI API를 제공합니다. 값을 방출하는 Publisher와 값을 수신하는 Subscriber를 통해 처리합니다. RxSwift를 공부했다면 더욱 쉽습니다.
✅ Combine을 공부하는 이유.
SwiftUI(iOS14)로 사용하는데 하는데 RxCocoa가 부분이 애매해지는 부분이 있어서 RxSwift에서 Combine을 사용해보고자 함.
그렇다면 Combine을 꼭 써야할까?
사실 RxSwift를 사용하면서 관리가 되지 않는 Rx + 오픈소스 라이브러리는 RxDelegateProxy 등으로 래핑해서 사용하면 되고, UIKit에서는 ScrollView 상태에 대한 부분, RxGesture 등 코드를 더 간결하고 직관적으로 관리가 가능해서 개인적으로 좋다고 생각함.
나의 경우에는 2020년에 iOS개발을 시작했고, iOS 12를 최소 타겟으로 프리랜서로 일하면서 RxSwift를 오랜기간 써왔던지라 너무나도 편한데, 최근 가장 학습하기로 한 가장 큰 이유는 신규 개발자님이 RxSwift를 아예 모를 뿐더라 나쁜 레거시로 느껴진다는 피드백을 받아서 Combine을 위주로 사용해야할 것 같다고 느꼈기 때문.
점점 더 RxSwift를 모르는 개발자분들이 늘어나고 협업을 위해서라면 Combine을 우선적으로 사용해보고자 함.
오퍼레이터는 RxSwift랑 거의 동일해서 Rx 기반으로 훑고 끝.
(참고)