[Combine] Combine 맛보기

2022. 5. 7. 21:00Combine

반응형

너무 늦은 감이 없지 않아 있지만, Combine Framework에 대해서 공부를 해보려고 합니다..⭐️

아직 RxSwift를 많이 쓰니까 하면서 위안했던 자신이 부끄..ㄹ

 

Combine이란?

당연히 애플의 공식문서를 먼저 봐야겠죠..?!

뭔가 비동기 이벤트에 대해 처리할 수 있는 방법들을 제공해주고 있는 것 같습니다 오..

뒤에 설명되어 있는 부분을 조금 더 읽어보면, 선언형 Swift API로서 Publisher를 이용해 값을 방출하고 Subscriber들이 이 값을 받아서 시간에 따른 변화를 처리한다는 것 같습니다

 

사실 Combine이 뭐다 설명했지만 RxSwift랑 비슷한 목적으로 애플에서 '우리가 제공해줄게 이거 사용해~~!' 같은 느낌이에요 ㅎㅎ..

꼭 사용해야할 것 같죠 😂

 

 

Combine 3 요소

우선 앞의 'Combine이란'에서 Publisher, Subscriber 두 가지가 먼저 나왔죠.

Combine에서 가장 중요한 3요소에 대해서 먼저 어떤 것이 있는지 간단히 오늘은 알아보도록할게요

  • Publisher : 시간에 따른 값의 흐름을 방출하는 주체입니다 뭔가 RxSwift Observable과 비슷한 친구인 것 같아요 ㅎㅎ..
  • Operator : Publisher에서 방출한 값에 따라 이를 연산해서 뭔가 변형시키거나 요리해줄 수 있는 친구입니다. map, filter 같은 것들이 있는데 뭔가 RxSwift의 Operator와 비슷하죠? ㅎㅎ...
  • Subscriber : Publisher로부터 방출되는 값을 받아서 뭔가를 처리하는 주체입니다. 바뀐 값에 따라 View에 반영한다거나 특정 로직을 수행한다거나 할 것 같죠???

 

이렇게 3가지를 알아봤는데, 모식도로 보면 다음과 같은 관계를 가지고 있어요

RxSwift에서도 Observable에서 이벤트를 방출하면 Operator를 이용해 중간에 이벤트들을 가공한 후, Subscriber에서 구독해서 비동기 이벤트에 대해 처리하는 방식이었죠?? Combine도 모식도를 통해보니 유사한 것 같습니다.

 

Observable의 역할을 Publisher가 해주고 있고 나머지 친구들의 역할도 거의 동일해보이네요 ㅎㅎ..

 

 

오늘은 우선 정말 간단히 Combine이 어떤 목적으로 제공되고 있고 내부에 어떤 요소들이 있는지만 찍먹만 해봤습니다 🙃

정말 이 글에서는 'Combine이 이런 목적이구나', '어떤 요소를 가지고 있네?' 정도만 머리속에 남겨도 괜찮을 것 같습니다.

다음, 다다음(?) 글에서는 Publisher, Subscriber, Operator들이 각각 무엇이고 어떻게 구성되는지를 공부하면서 좀 더 자세히 포스팅해보겠습니다 👋

반응형

'Combine' 카테고리의 다른 글

[Combine] Publisher  (0) 2022.05.08