apple/SwiftUI & Combine

[Combine] Let's study Combine!

lgvv 2022. 6. 3. 13:37

Let's study Combine!

SwiftUI Combine 공부

 

 

✅ 애플 공식 문서를 바탕으로 정리하였습니다.

https://developer.apple.com/documentation/combine

 

Apple Developer Documentation

 

developer.apple.com

 

 

 

✅ Combine이란?

Combine Framework에 대한 설명

이벤트 처리 오퍼레이터들을 결합함으로써 비동기 이벤트의 핸들링을 사용자가 다룹니다!

조금 더 쉽게 말해보자면 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 기반으로 훑고 끝.

 

 

 

 

 

 

(참고)

https://icksw.tistory.com/271

 

[Combine] Combine이란? - Combine 공부 1

안녕하세요 Pingu입니다.🐧 요즘 나름 열심히 공부하는 프레임워크인 Combine를 복습 겸 확실히 공부할 겸 써보려고 하는 Combine입니다.😄 공부할 것 중 우선순위를 둔 것이 Combine, SwiftUI인데, SwiftUI

icksw.tistory.com