Build Reactive Websites with RxJS: Master Observables and Wrangle Events
L**Y
Good Introduction to RxJS, Reactive Programming, and Angular's Reactive Forms
I'm an Angular developer, and I use RxJS a lot in my development. I picked up this book after having seen Randall at a couple conferences, and I wanted to see his take on things.This isn't a thick book, but it gives really good information on Reactive programming, RxJS, Angular, and Angular's Reactive Forms. It doesn't go into ngrx and Angular performance much, but the introduction it gives for both is solid.In my development, I really appreciate the power of reactive development and Reactive Forms, and it was good to see them taken seriously here (I think Reactive Forms in particular are underappreciated).The only part of the book (besides a line and hint here and there) that was new for me was the last chapter on writing a game in canvas. Pretty cool stuff.I teach classes on Angular through my company's Angular Boot Camp, and I'm going to suggest this book to future students as a resource for good Angular and web development.
O**S
Worth studying if you do anything async in js
RxJS is a huge library that's very scary to approach. I like how the book start presents RxJS operators in a way that builds an understanding of Observables and Subjects, followed by ways to use those types with some of the operators.When I was first introduced to RxJS, it was through Angular's Tour of Hero's tutorial which glosses over RxJS and I struggled with Observables early on. I wish this book had been around at that time, and after reading this book, it's helped me understand async javascript better and how to use Observables in different ways.If you think Promises, Generators, and async/await are fascinated, you should give this book a try as it'll likely blow your mind.It's also nice that each concept is provided through the lens of some application that you can build and experiment with, so you can be more engaged.
Y**Z
Very clear :)
Randal is clear, comprehensive, and keeps things interesting.
S**N
Not beginner friendly
I find myself constantly looking for other sources of information as the book often fails to simplify topics. The examples are too complicated for a beginner to reactivex programming, often leaving the reader confused as to what is going on with the observable. Too many operators are combined early on (chapters 1 and 2), and thus can be quite difficult to follow.
B**A
Kompliziert ohne Grund
The book has examples, but the explanations are either poorly written, or right away rushed. Cannot recommend. If you want to learn RxJs, this is not the source to do that.
D**O
Muy bueno para comenzar
Empieza desde los conceptos más básicos y va aumentando en contenidos y dificultad
S**C
RxJS v6系のソースコードのサンプルが欲しい人にはそれなりに参考になる
レビュータイトルの通り、Chaper1-Chapter5は、RxJS v6をサンプル付きで勉強したい人にはそれなりに役に立ちます。ただ、RxJSの基本的な用語や考え方の説明がかなり端折られており、そもそもの部分がわかっていない人には辛いです。(私はpixivのBOOTHで販売されている技術書典3の「RxJS入門」を参考書として脇に置きながら使いました。但し、RxJS v5の頃の物なので、コンストラクタ関数やオペレーター関数の書き方など色々なシンタックス等がv6と異なっているため、内容をv6で脳内変換する必要があります。「RxJS入門」がRxJS v6で書き直されると、この本を越えると思うのですが・・・)ちなみにBootstrapとかRESTfulサービスやWebSocketサーバの役割をするasset-serverという資源がサンプルコードにあるのですが、ちゃんと使い方に本の方に説明して欲しいです。私はWindows10の端末ですが、「node .bin\www」と打って実行しました。chapter 6-8はAngularの章ですが、はっきり言って、日本語で出ていて高めの評価が付いているAngularの基本書を読む方が良いです。私はこの本は昨年の中頃に出版すべくAngular6系でサンプルがつくられておるのではないかと憶測している次第ですが、2019年の時点で読むと物足りない内容です。一部(5か所程度ですが)にRxJSを具体的にどう使うのかというサンプルがあり、それを読むとテクニックの経験値がちょっとアップするという程度です。(ちなみにChapter7のサンプルはyarn installは通りましたが、npm run startを叩くと、「ERROR in The Angular Compiler requires TypeScript >=2.7.2 and < 2.8.0 but 2.9.2 was found instead.」というエラーが起きて起動しませんでした)Chapter8に話題に登るNgRXですが、@ngrx/storeのバージョンが6.1.0という状態で、もはやサンプルコード等や説明に意味がないです(2019年4月時点のNgRXの最新バージョンは7.4です)。NgRXに関しては、公式サイトや有識者の方の記事を読む方が良いでしょう。Chapter9は起動だけしてゲームをちょっとだけして終わりました(右左に移動できるだけで上下移動やシューティング攻撃ができない・・・まあ、ゲーム買ったわけじゃないので、別に良いけど)ちなみにChapter5 Multiplexing ObservablesのP62に記述されている「.pipe(publish())」にはTypeScriptで正しく型推論できないという問題があるらしいです。詳しくはGitHubのReactiveX/rxjsのプロジェクトのissue 2972 「Pipe operator cannot infer return type as ConnectableObservable」をご参照ください。ひとまず、下記のような回避策はあるらしいです。publishオペレータとmulticastオペレータをエイリアス付けてインポートimport { publish as publishOperator, multicast as multicastOperator } from 'rxjs/operators';個別に関数を作るfunction publish<T>(src: Observable<T> ): ConnectableObservable<T> { return publishOperator<T>()(src);}function multicast<T>(src: Observable<T>): ConnectableObservable<T> { return multicastOperator<T>(new Subject<T>())(src);}pipeオペレータにpublish()やmulticast()の戻り値の関数オブジェクトを渡すのではなく、Observableインスタンスを上記の個別で作った方のpublish関数とmulticast関数の引数として渡します。let _users$ = ajax('user');let users$ = publish( _users$ );users$.connect();multicast(interval(1000)).refCount();まとめですが、RxJS version5ではなく、RxJS version6系で動くサンプルコードが欲しい人には参考になる本だと思います。ただ、解説がかなり端折っていることが多すぎて入門書としてはお勧めできないです。サンプルコードに加えて、簡潔にもう少し体系的なRxJS version6の説明も欲しかったところです。星の数は3にするか2にするかで悩みましたが、出版された時期にもはやChapter6-8の依存性が出版時の依存性にあわずにコードが腐ってしまっていたことがマイナスポイントだと思いましたので、2とさせて頂きます。
Trustpilot
2 days ago
2 months ago