가장 기본적인 요소로, RxSwift에서 데이터 스트림을 생성합니다. 거의 모든 Rx 코드의 시작점이며, 다른 모든 컴포넌트와 상호 작용합니다.
Observable에서 생성된 데이터 스트림을 조작하는 데 사용되는 메소드입니다. map, filter, flatMap 등 다양한 오퍼레이터들이 있으며, 이는 RxSwift에서 가장 자주 사용되는 부분 중 하나입니다. 데이터를 변형하고, 조합하며, 조건을 적용하는 등의 작업을 수행합니다.
PublishSubject, BehaviorSubject, ReplaySubject, Variable 등과 같이, Observable과 Observer의 역할을 동시에 수행할 수 있습니다. 이벤트를 외부에서 받아 구독자에게 전달할 수 있기 때문에, 데이터 스트림을 동적으로 제어해야 할 때 유용하게 사용됩니다.
스트림 처리를 위한 멀티스레딩을 관리합니다. MainScheduler, ConcurrentDispatchQueueScheduler 등이 있으며, RxSwift에서 스트림의 실행 컨텍스트를 제어하는 중요한 역할을 합니다. 예를 들어, 백그라운드에서 데이터를 로드하고 메인 스레드에서 UI를 업데이트할 때 사용됩니다.
Observable의 변형으로, 하나의 데이터 또는 에러를 방출하고 종료되는 일회성 스트림입니다. 네트워크 요청과 같이 단일 결과를 기대하는 작업에 적합하며, Observable 보다는 특정 상황에서 사용 빈도가 낮습니다.
이들 각각은 RxSwift를 사용하는 앱의 아키텍처와 기능에 따라 다르게 사용될 수 있으며, 상황에 따라 더 중요하거나 덜 중요할 수 있습니다. 그러나 일반적으로 Observable과 Operators는 가장 기본적이고 핵심적인 컴포넌트로 자주 사용됩니다. Subject와 Scheduler는 보다 특수한 상황에서 필요로 하며, Single은 그 사용 빈도가 상대적으로 적지만 특정 경우에 매우 유용합니다.
ReactiveX에서 제공하는 컴포넌트중에는 Observable, Operators, Single, Subject, Scheduler가 있다. 일반적으로 일반적으로 Observable과 Operators는 가장 기본적이고 핵심적인 컴포넌트로 자주 사용됩니다. Subject와 Scheduler는 보다 특수한 상황에서 필요로 하며, Single은 그 사용 빈도가 상대적으로 적지만 특정 경우에 매우 유용하게 사용된다.