こちらも終わらせていたので感想を。
ハンズオン形式でJS (Jquery) + Node.js (Express) + MongoDBでチャットアプリを構築する。
今だと、MongoDBなんかはDockerでサクっと用意できるので簡単に試せたりできた。
MongoDBにはユーザ情報とそのログイン状態が保存され、Soketが切断されるとログアウト状態になるといった設計だった。
いかんせん、古い書籍なのでライブラリ等のバージョンアップに伴い、現在のバージョンの記述を調べながら写経していた。
リンク
一応、完走したコードを。
良かった点
- WebSocketを使用したチャットアプリを構築する。リアルタイムでデータが伝播されるのはやっぱり楽しい。
- Node.jsからMongoへの接続、データの入出力を試せる。
- 但し、MongoDBのドライバのバージョンがかなり変わっているので現在の方法を調べながら試す必要がある。
- Fakeモジュールを作成し、モックを使用しながらの開発手法が学べた。
イマイチな点
- 序盤の章でワイヤーフレームを作成して、ダイアログになる要素なんかも作るんだけど結局最後まで使われずじまい。意味あったんだろうか...
- 自分のスキルレベルでは全体的にコードが追うのが辛かった。
- 例えば、全モジュールに
configMap
やstateMap
といった状態を管理するオブジェクトが登場し、「このモジュールのこのMapのこのキーはどいうったものが入っているのか?」を理解するのが結構苦痛。 - それに踏まえて、geventなんかでカジュアルにポンポンとイベントをobservするので、処理を追うのも一苦労(^_^;)
- 例えば、全モジュールに
- 一箇所、どうしてもTaffyのデータが取得できない箇所があって、(多分、誤植ではなく設計自体にバグがある...)、半日くらいデバッグしてしまった...
WebSocketを触るのは楽しいし、Node.js + MongoDBを試せるのは大きいけど、ちょっと古い書籍 + 僕くらいのレベルではコードが理解し辛かったので、今から勉強として始めるのはちょっと敷居が高いかなあ。といった感想。
リンク