본문 바로가기

RxSwift

(7)
[RxSwift] Traits - Driver, Signal, Control Property/ControlEvent 안녕하세요 제인입니다 :) 지난 게시글에 이어 이번 게시글에서는 RxCocoa의 Traits에 대해 정리해보겠습니다. 이번 게시글도 ReactiveX/RxSwift의 Traits 문서 번역을 통해 작성하겠습니다! RxCocoa Traits의 종류 RxCocoa의 Traits로는 Driver, Signal, Control Property/ControlEvent가 있습니다. 하나씩 살펴보겠습니다! Driver Driver는 가장 정교한 trait입니다. UI 계층에서 reactive 코드를 작성하는 직관적인 방법을 제공하거나 애플리케이션을 구동(driving)하는 데이터 스트림을 모델링하려는 모든 경우에 사용할 수 있습니다. + Driver라는 이름이 붙은 이유? Driver의 목적 자체가 애플리케이션을 구..
[RxSwift] Traits - Single, Completable, Maybe 안녕하세요 제인입니다! 오늘은 Traits가 무엇인지에 대해 알아보고, RxSwift의 Traits에 대해 정리해보겠습니다. (RxCocoa의 Traits는 다음 게시글에서 이어서 정리하도록 할게요!) 이번 게시글은 ReactiveX/RxSwift의 Traits 문서를 번역하면서 Traits에 대해 정리해보도록 하겠습니다. Traits란? Swift는 애플리케이션의 정확성과 안정성을 향상시키고 Rx 사용을 보다 직관적이고 간단하게 만드는 데 사용할 수 있는 강력한 유형 시스템을 갖추고 있습니다. Traits는 인터페이스 경계를 넘어 관찰 가능한 시퀀스 속성을 전달하고 보장하는 데 도움이 될 뿐만 아니라 모든 컨텍스트에서 사용할 수 있는 원시 Observable과 비교할 때 문맥적인 의미를 제공하고 더 구..
[RxSwift] Relay란? 안녕하세요 제인입니다 :) 저번 Rx 게시글이었던 Subject에 이어 Relay에 대해서도 한 번 정리해보려고 합니다. 이번에도 RxSwift: Reactive Programming with Swift 책을 참고해서 정리를 해보도록 하겠습니다! Subject에 대해 잘 모르시겠다면 아래의 게시글을 먼저 읽고 오시는 것을 추천드립니다. [RxSwift] Subject란? 안녕하세요 제인입니다 : ) 참 오랜만에 RxSwift 게시글 쓰게 되었습니다.. 문 닫은거 아니구요 정상영업하려구요.. 네.. 사실 그동안 RxSwift 공부를 아예 안한 것은 아닌데요.. 뭔가 게시글을 쓸 때 janechoi.tistory.com Relay란? Relay는 Subject의 Wrapper 클래스로, RxCocoa 내부에..
[RxSwift] Subject란? 안녕하세요 제인입니다 : ) 참 오랜만에 RxSwift 게시글 쓰게 되었습니다.. 문 닫은거 아니구요 정상영업하려구요.. 네.. 사실 그동안 RxSwift 공부를 아예 안한 것은 아닌데요.. 뭔가 게시글을 쓸 때 확실한 정보를 전달해야한다는 생각에 좀 더 공부하고 정리해서 올리자 좀 더 하고... 하다가 이렇게 미루게 된 것 같네요 하핫 이제 더 이상 미룰 수 없다! 많이 부족해도 글로 정리하면서 확실히 이해하는 부분들이 많은 것 같기도 하고, 최근에 프로젝트에서 RxSwift를 이용해 비동기 처리를 할 일이 많은데 정확히 알지 못하는 부분이 많다고 느꼈습니다.. 그래서 제대로 알고 코드를 짜고 싶어서 다시 RxSwift 공부를 열심히하며 티스토리에도 정리를 해보려고 합니다! 마지막으로 Observabl..
[iOS] ReactorKit이란? 안녕하세요 제인입니다! 오늘은 최근 진행 중인 프로젝트를 MVVM 구조로 리팩토링을 하며 도입하게된 ReactorKit(리액터킷)에 대해 정리해보려 합니다. 바로 시작할게요!! ReactorKit이란? ReactorKit은 반응 및 단방향 Swift 애플리케이션 아키텍처를 위한 프레임워크입니다. MVVM과 같은 아키텍처에 대해 공부해보신 분들이라면 느끼셨겠지만 아키텍처는 규격화된 형식이 없기 때문에 개발자, 회사마다 쓰는 방식이 정말 다르고 다양합니다. 하지만, ReactorKit은 형식이 존재하기 때문에 MVVM 아키텍처를 프로젝트 내에서 정형화된 방식(같은 템플릿)으로 적용할 수 있다는 장점이 있습니다. 실제로 위와 같이 많은 회사에서 ReactorKit을 사용하고 있다고 합니다! ReactorKit..
[RxSwift] Observable RxSwift 개념 정리글에서 RxSwift의 정의에 대해 정리해보며, Observable이 반응형(Reactive) 프로그래밍의 가장 큰 핵심이다. 라고 정리했습니다. 그렇다면 이 중요한 개념! Observable이 무엇인지, 어떻게 만드는지, 어떻게 사용하는지에 대해서 좀 더 자세히 알아봅시다! Observable Observable의 개념부터 다시 가져와서 설명해보자면, ReactiveX에서 Observable 객체는 사전적인 의미대로 어떤 '객체'를 관찰할 수 있는 형태로 만드는 것을 말하며, Observable 객체를 생성함으로써 Observer는 관찰을 시작(구독)하게 됩니다. 이 '객체'에 따라 실제 관찰하는 값(== 스트림에 흘려보내는 값) 혹은 관찰의 대상인 사건(== 이벤트)이 결정됩니..
[RxSwift] RxSwift와 비동기 프로그래밍 안녕하세요! 제인입니다 :) 요즘 비동기적 처리에 대한 필요성을 느끼고, 아키텍처 공부도 시작하다 보니 자연스럽게 RxSwift에 관심이 생겨 공부를 해보고 있는데요! RxSwift의 기본 개념부터 차근차근 정리해나가려고 합니다! RxSwift란? RxSwift는 Reactive eXtension + Swift의 합성어로 이루어진 용어로, Swift에 ReactiveX를 적용시켜 비동기 프로그래밍을 직관적으로 작성할 수 있도록 도와주는 라이브러리입니다. 그렇다면 ReactiveX란 무엇일까요?🤔 ReactiveX 공식 홈페이지에 따르면 ReactiveX란, An API for asynchronous programming with observable streams '옵저버블 스트림으로 비동기 프로그래밍을 ..