-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
1. RxSwift 개념
💁🏻♂️ 1.1 Reactive Programming이 무엇인지 설명해주세요.
- Reactive Programming 은 데이터의 흐름에 반응하며 로직을 구성하는 프로그래밍 패러다임입니다.
- 데이터의 상태변화나, 이벤트에 따른 로직을 작성합니다.
- 이 때, 데이터의 흐름을 비동기적으로 처리할 수 있기 때문에 비동기 프로그래밍에 좋습니다.
- 함수형 프로그래밍을 결합해 가독성 좋고 유지보수 좋은 코드를 짜는 데 유용합니다.
💁🏻♂️ 1.2 : RxSwift 를 왜 썼고 장단점이 뭐가 있나요?
- 비동기 코드를 쉽게 작성할 수 있습니다.
예를 들어 네트워크 통신에 의해 데이터를 가져오는 작업을 Observable 에 담아서 작성한다면,
Observable 이 뱉어내는 onNext, onCompleted 등의 이벤트를 기반으로
비동기 처리를 쉽게 할 수 있습니다.
이를 통해 Data Binding 을 편하게 처리할 수 있습니다. - 함수형 프로그래밍을 지원합니다.
map 이나 filter 등의 Operator 를 통해 데이터를 가공하기 좋습니다. - 데이터 흐름을 다룰 때 유용한 클래스들이 많습니다.
Observable, Subject 등의 클래스를 사용해서 데이터 흐름을 효과적으로 다룰 수 있습니다.
💁🏻♂️ 1.3 : RxSwift 와 Combine 차이를 설명해주세요.
-
RxSwift 는 애플이 만든 라이브러리가 아닙니다.
Rx는 Swift 뿐 아니라 Java, Python 에서도 사용되는 라이브러리입니다.
반면에 Combine 은 애플이 만든 공식 라이브러리입니다.이로 인해 파생되는 특징은 다음과 같습니다.
-
RxSwift 를 사용했을 시,
Rx 를 사용하는 다른 개발자들과 소통할 수 있습니다. 로직을 통일 시킬 수 있습니다. -
Combine 을 사용했을 시,
좀 더 안정적인 효과를 기대할 수 있습니다.
어느날 갑자기 Rx 라이브러리에 문제가 생긴다면 그건 애플의 책임이 아니기 때문입니다.
Metadata
Metadata
Assignees
Labels
No labels