이동식 저장소

ReactiveX 공부 시작 본문

Secondary/RxJava

ReactiveX 공부 시작

해스끼 2023. 1. 26. 23:00

ReactiveX는 비동기, 이벤트 기반 코드를 작성할 수 있게 하는 라이브러리이다. Java 시절에 많이 사용하던 RxJava가 유명하지만, 사실 웬만한 언어는 다 지원한다.

ReactiveX(이하 Rx)는 기본적으로 데이터(Observable)를 관찰(observe)하고 처리하는 함수(observer)를 선언하는 observer 패턴을 사용한다. 마치 ``Iterable``의 데이터를 for문에서 하나씩 읽어 처리하듯이, Observable에서 주어지는 데이터를 observer가 읽고 처리한다. 개념 자체는 Kotlin의 ``Flow``와 매우 유사하다. 

 

Kotlin 등장 이전에 Rx를 사용하지 않던 기업이 있었을까? 라는 질문이 나올 정도로 RxJava는 유명한 라이브러리였고, 지금도 그렇다. 멀쩡히 돌아가는 코드를 굳이 바꿔야만 하는 이유는 없기 때문. 안드로이드 채용 공고 중에는 RxJava가 필수 요건인 곳도 있을 정도다.

 

얼마 전부터 졸업생 선배님들의 사이드 프로젝트에 참여하고 있는데, 안드로이드 코드를 보니 언어는 Kotlin이지만 Java 시절에 사용하던 RxJava가 남아 있었다. 잘 돌아가는 Rx는 그대로 두고, 코루틴은 신규 기능을 개발할 때 사용한다고 한다. 예컨대 안드로이드 개발자라면 Rx는 기본 소양이라는 말씀.

 

그런 측면에서 보면 나는 기본 소양이 없는.... 4학년인 것이다. 1학년이면 상관 없는데 어느새 4학년이 되어 버렸고.. 마침 공부 동력이 약간 떨어져 있던 상태라 기꺼이 RxJava를 공부하기로 했다. 어차피 언젠가는 공부해야 할 내용이었으니, 사이드에도 기여할 겸 이참에 공부해 보기로 했다.

그래서 이 카테고리는

RxJava를 공부하는 카테고리이다. 먼저 공식 docs를 읽으면서 요약한 후, 실습 코드를 작성할 것이다. 여력이 있다면 안드로이드나 Retrofit 같은 라이브러리에 적용해 볼 수도 있겠다.

사용할 자료

ReactiveX 공식 문서를 주로 참고하며, 다른 블로그나 도서도 참고할 예정이다.

'Secondary > RxJava' 카테고리의 다른 글

Single  (0) 2023.01.28
Observable  (0) 2023.01.26
Comments