apple/SwiftUI & Combine

[Combine] Let's study Combine! (feat. SwiftUI)

lgvv 2022. 6. 3. 13:37

Let's study Combine! (feat. SwiftUI)

SwiftUI Combine 공부

 

 

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

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

 

Apple Developer Documentation

 

developer.apple.com

 

 

 

✅ Combine이란?

Combine Framework에 대한 설명

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

조금 더 쉽게 말해보자면 Combine 프레임워크는 결국은 시간에 따라 값을 처리하기 위해 SwiftUI API를 제공합니다. 값을 방출하는 Publisher와 값을 수신하는 Subscriber를 통해 처리합니다. RxSwift를 공부했다면 더욱 쉽습니다.

 

 

 

✅ Combine을 공부하는 이유.

SwfitUI를 공부하고 있는데 Combine 공부도 필요하다고 느꼈습니다. Combine이란 2019년에 Apple에서 출시한 first-party 프레임워크입니다. RxSwift를 애플에서 직접 만들었다고 생각하면 됩니다:)

 

그렇다면 Combine을 꼭 써야할까?

 기존에 UIKit으로 RxSwift를 사용하면서 프로젝트를 진행할 때 가장 불편했던 점이 결국은 서드파티다 보니 관리가 되지 않아서 필요한 것이 제공되지 않거나, 애플에서 새로운 것이 출시될 때 빠르게 대응이 되지 않아서 프로젝트가 RxSwift에 의존성이 커진 상황에서 오히려 개발 시간을 기하급수적으로 낭비하는 것을 스스로 느꼈습니다. 

 따라서 개발을 진행하면서 서드파티 의존성을 줄이는 것이 상당히 중요함을 느끼고 있습니다. RxSwift를 사용하지 않고 이벤트기반 프로그래밍으로 코드를 작성(delegate, completionHandler 등)을 통해서 처리하고 있었으나, 경우에 따라서는 코드가 너무 복잡해졌는데, Combine을 학습해서 처리한다면 깔끔한 코드를 작성할 수 있을 것으로 생각합니다.

 

그리고 무엇보다도 SwiftUI와 Combine은 찰떡궁합입니다. UIKit을 사용하다가 SwiftUI로 코드를 작성해보니까 개발 속도고 엄청 빨라지고 코드가 진짜 너무나도 깔끔합니다.  

 

 

Topics

여기서부터는 Topics로 분류하여 하나씩 따로 포스팅을 진행합니다.

 

🟠 Essentials

🟠 Publishers

 

 

 

 

 

 

(참고)

https://icksw.tistory.com/271

 

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

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

icksw.tistory.com