솔직히 처음 Rx 관련 라이브러리 보고 의아해 했습니다.
그냥 Observer Pattern + 함수형 프로그래밍 인데,
이게 왜 인기가 있는 지 별로 매력을 못느꼈거든요.
게다가 Observer, Subscriber를 한 곳에 기술한다는 자체가 결합도를 늘리는 행위인지라 마음에 안들었습니다.
(물론 분리할 수 있지만 그럴바에는 직접 Observer Pattern 작성하는거랑 다를 바 없기에...)
그냥 직접 Observer Pattern 구현하고 필요에 따라 그 안에 코드 기술하고 Callback 작성하는 게 더 깔끔하다 생각했는 데...
최근 다시 살펴보다가 신세계를 발견했네요.
결론부터 말하면 그냥 혼자 쓰면 별 매력이 없습니다.
Java 진영에서 OkHttp + Retrofit + Gson/Jackson + RxJava/RxAndroid
이렇게 결합하니까 엄청나게 강력하더군요.
정확히 말하면 Retrofit 자체에서 나머지 라이브러리들을 지원하는 라이브러리를 제공합니다.
보통 RESTful 통신을 하려면 http 클라이언트 관련 작성, json 파싱등 상당히 귀찮은 작업이 필요한 데
이를 모두 다 추상화 시켜서 원래 작성할 코드의 1/3로 할 일이 줄었네요.
Interface에 Observable 객체 하나 선언하고, 거기다 Annotation 지정해서 "여기다 데이터 담을거니까 파싱 알아서 해줘"
상당히 이상적인 느낌이네요.
관심있는 분들은 retrofit github에 들려보세요.