Skip to content

RxSwift #76

@ujhong7

Description

@ujhong7

1. RxSwift 개념

💁🏻‍♂️ 1.1 Reactive Programming이 무엇인지 설명해주세요.

  • Reactive Programming 은 데이터의 흐름에 반응하며 로직을 구성하는 프로그래밍 패러다임입니다.
  • 데이터의 상태변화나, 이벤트에 따른 로직을 작성합니다.
  • 이 때, 데이터의 흐름비동기적으로 처리할 수 있기 때문에 비동기 프로그래밍에 좋습니다.
  • 함수형 프로그래밍을 결합해 가독성 좋고 유지보수 좋은 코드를 짜는 데 유용합니다.

💁🏻‍♂️ 1.2 : RxSwift 를 왜 썼고 장단점이 뭐가 있나요?

  1. 비동기 코드쉽게 작성할 수 있습니다.
    예를 들어 네트워크 통신에 의해 데이터를 가져오는 작업Observable 에 담아서 작성한다면, 
    Observable 이 뱉어내는 onNext, onCompleted 등의 이벤트를 기반으로
    비동기 처리를 쉽게 할 수 있습니다.
    이를 통해 Data Binding 을 편하게 처리할 수 있습니다.
  2. 함수형 프로그래밍을 지원합니다. 
    map 이나 filter 등의 Operator 를 통해 데이터를 가공하기 좋습니다.
  3. 데이터 흐름을 다룰 때 유용한 클래스들이 많습니다. 
    Observable, Subject 등의 클래스를 사용해서 데이터 흐름효과적으로 다룰 수 있습니다.

💁🏻‍♂️ 1.3 : RxSwiftCombine 차이를 설명해주세요.

  1. RxSwift 는 애플이 만든 라이브러리가 아닙니다. 
    Rx는 Swift 뿐 아니라 Java, Python 에서도 사용되는 라이브러리입니다.
    반면에 Combine 은 애플이 만든 공식 라이브러리입니다.

    이로 인해 파생되는 특징은 다음과 같습니다.

  2. RxSwift 를 사용했을 시,
    Rx 를 사용하는 다른 개발자들과 소통할 수 있습니다. 로직을 통일 시킬 수 있습니다.

  3. Combine 을 사용했을 시,
    좀 더 안정적인 효과를 기대할 수 있습니다.
    어느날 갑자기 Rx 라이브러리에 문제가 생긴다면 그건 애플의 책임이 아니기 때문입니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions