June

[Review] RxJS 프로그래밍

평소에 관심있었던 [RxJS 프로그래밍] 책에 대한 리뷰를 진행하려 합니다. 11월 초 서비스 런칭을 준비하고 있어서 짬이 나지 않았는데요. 블로그 포스팅들과 리뷰를 할 틈이 나질 않았다는 변명을... 하면서 항상 그렇듯 지각인 리뷰를 시작하겠습니다.


솔직히, 이 책을 제외하고도 RxJS 책이 한 권 있습니다. 두 책을 비슷한 시기에 읽다보니 자연스레 비교하며 읽게 되었는데요!

본격적인 리뷰를 시작하기에 앞서 설명드리자면 기본적인 부분에 있어서 철저히 RxJS 문서를 기반으로 하는 설명이 있다고 생각합니다. 어느 정도 지식이 있는 상태에서라면 그냥 문서를 읽지... 라고 생각하겠지만 친절하게 번역해서 상황에 맞는 예제와 다이어그램으로 설명을 해주며 예제 또한 실제 문서에서 보여주는 예제를 각색하여, 문서를 이해하기도 쉽게 도와줍니다.

Part. 1 RxJS 소개

Part 1 이하에는 RxJS 소개와 개발 환경 구축, RxJS의 기본 개념, 생성 함수 가 설명되며 RxJS의 가장 중요한 개념인 Observable, Observer, Subject, Subscription에 대한 기본적인 설명과 Observable을 생성하기 위한 함수들과 기능들에 대해 말해줍니다.

기초적이면서도 시작점인 부분이기에 RxJS 책에선 가장 중요한 부분입니다.

Part. 2 RxJS의 연산자, Part. 3 효과적인 RxJS 사용

이 부분들은 간단히 말해 Part. 1에서 생성된 Observable을 어떻게 다룰지에 대한 소개를 담은 챕터이다. RxJS를 상황마다 유연하게 사용하려면 이 부분을 자세히 알아야 하지만 RxJS공식 문서 를 보면 알 수 있듯이 엄청난 수의 Operators가 있기 때문에 보통은 이 모든 동작을 외울 수 없습니다. (es5 ~ es8까지의 모든 기능을 외울 수 없는 것처럼...) 익숙한 JS 개발자라면 기능들을 천천히 살피는 것이 모를 때 어떻게 찾아야 하는지 에 대해 도움이 된다는 것을 알 수 있을 것입니다.

Part. 4 실전 RxJS

이 책에서 가장 흥미로웠고, 읽기 전부터 기대했던 부분인데요. ES6 (ES2015+)와의 async / await과 함께 사용하는 방법이나 (Vue는 없지만) React, Angular 와의 콜라보, redux / redux-observable 라이브러리로 사용하는 RxJS 등등, 실전에서 사용하는 방법들에 대한 설명이 이어집니다.


이번 책 리뷰의 내용은 개념적으로 크게 어려운 부분이 없어 이정도로 정리하려 합니다. 이 책에서는 첫 부분에 말한 장점이 단점이기도 한데요, 친절하게 번역해서 상황에 맞는 예제와 다이어그램으로 설명을 해주며 예제 또한 실제 문서에서 보여주는 예제를 각색 이라는 말은 영어 번역이 어려운 초보자에게 하는 설명입니다. 라는 말일 수 있고, es2015 문법도 자세히 설명하는 것이 책을 읽는 독자의 미니멈 수준을 너무 낮게 잡은게 아닐까~ 생각들게 하였습니다.

초보적인 부분에 큰 도움이 될 수는 있겠지만, 실무적인 부분에 참고할 부분이 적었던 것은 사실입니다. 이러한 부분에 있어 약간의 아쉬움을 가지고 이번 리뷰 마무리 하겠습니다.

감사합니다.