유동환/박정준 님이 공동으로 집필한 RxJava 프로그래밍을 소개합니다. 이 글을 읽기 전에, 다음 링크에서 Reactive Extensions(Rx)의 역사와 Rx의 역할이 무엇인지 이해하고 이 글을 읽는 것을 추천합니다.
RxJava는 JVM 환경에서 자바로 구현한 Reactive Extensions 라이브러리입니다. RxJava는 현재 두 버전으로 제공되고 있는데, 새로 학습하거나 프로젝트에 도입하는 분은 최신 버전인 2.0을 사용하는 것을 추천합니다. 참고로 RxJava 프로그래밍에서는 RxJava 2.1.3(2017년 11월 25일 기준으로 최신 버전은 2.1.6입니다.)을 기준으로 소개합니다.
RxJava 프로그래밍은 필자가 꼭 읽고 싶었던 책이었는데, 한빛미디어에서 좋은 기회를 제공해주셔서 약간의 압박(?)감을 느끼고 집중해서 읽을 수 있었습니다.
이 책에서 다루는 내용은?
RxJava 프로그래밍은 모두 8개의 장으로 구성되어 있습니다. 먼저 RxJava를 소개하는 것부터 시작하여 RxJava의 기본을 학습하는데, 충분한 내용을 담고 있습니다. 처음 리액티브 프로그래밍 세계에 발을 내디디면, 대부분 프로그래머들은 기존 프로그래밍과 다른 접근 방법으로 혼란스러워합니다.
>
RxJava 프로그래밍은 저자가 직접 경험하며 좌충우돌하는 에피소드를 담아 처음 RxJava를 접했을 때의 경험담을 들려줍니다. 이 에피소드를 중심으로 RxJava를 이해하는 과정을 소개하고 있으며, 이 과정에서 얻은 통찰력을 기반으로 RxJava를 효과적으로 학습하는 방법을 소개하고 있습니다. 책의 순서도 소개하는 학습 순서와 거의 같습니다.
먼저 마블 다이어그램을 소개하고 해석하는 방법을 소개합니다. 이후 주요 RxJava의 주요 클래스와 리액티브 연산자를 소개하고 간단한 예제를 활용하여 사용방법을 설명합니다. 기존에 자바 8을 사용하신 분이라는 큰 어려움 없이 코드를 이해할 수 있을 정도로 쉬운 간단한 예제로 구성되어 있습니다. 다음으로 RxJava에서 제공하는 주요 연산자를 활용하여 조금 복잡한 문제를 쉽게 해결하는 방법을 소개합니다. 이 단락을 통해 RxJava를 활용할 때 응용할 수 있는 영감을 얻을 수 있었습니다. 다음으로 RxJava에서 제공하는 주요 스케쥴러를 소개하며 각 스케쥴러의 장단점을 보여줍니다. RxJava의 주요 구성 요소에 대한 설명을 마치고, RxJava로 프로그래밍할 때 효율적인 디버깅과 예외 처리 방법, 최신의 JUnit 5를 활용한 테스팅 방법까지 소개하고 있습니다.
RxJava를 학습하거나 활용해야 하는 분들에게 최고의 기본서라고 생각합니다. RxJava를 학습하는데 가장 좋은 매뉴얼은 공식 홈페이지에서 제공하지만, 이 책을 통해 RxJava를 이해한 후 그 매뉴얼을 보면 이해도가 한층 더 높아질 것으로 확신합니다.
마치면서...
RxJava 프로그래밍은 RxJava의 모든 것을 다루지는 않습니다. 리액티브 프로그래밍을 이해할 수 있도록 입문서 역할을 충실히 담당하고 있으며, 마블 다이어그램의 해석 방법, 주요 함수와 RxJava에서 제공하는 기능들을 쉽게 소개합니다. RxJava 프로그래밍을 통해 리액티브 프로그래밍 세계에 발을 쉽게 담글 수 있습니다. 이제 자유롭게 항해를 하기 위해서는 많은 경험과 지식을 필요할 것입니다.