Ryo’s blog

42にいるソムリエのゆるふわブログ

【感想】りあクト!を読んだ

oukayuka.booth.pm

一度は読んでほしいと知人からオススメされていた「りあクト!」3部作を読みました。 対話形式ということもあり、意外とカジュアルな内容なのかなと思いきや、そんなことはなかったです。 評判通りの分かりやすい噛み砕いた説明と充実した内容に感銘を受けました。 以下にそれぞれの感想をまとめてみたのでご覧ください。

1冊目 JavaScriptとTypeScriptの基礎を学ぶ

JavaScriptがプロトタイプベースであることやthisの注意点など、構文以外にも包括的な内容で初めて知ることが多かったです。 以前インターンでthisの扱いに苦戦した事があったので、対処法が複数提示されていたのは参考になりました。

他には、関数型プログラミングとはどういうものか、TypeScriptにおける型の扱い方など、歴史的な経緯から学ぶことで理解の促進に繋がりました。 やはり型があることで、コードの見通しが良くなっていいですね。

2冊目 Reactの歴史や周辺技術、コンポーネントの基本を学ぶ

Reactを取り巻く技術の話では、モジュールバンドラやリンター、フォーマッタなど開発に必須なツール郡の使い方やセットアップなどを学びました。 新しいものだと、ビルドツールのViteやJSランタイムのDenoがどういう技術なのか、どういった経緯で登場したのかなど興味深いトピックもありました。 Viteを初めて使ったときの起動の速さには驚きましたね。

Reactが登場するまでのフロントエンドの歴史では、Googleマップから始まり、MVC、MVVMアーキテクチャから、コンポーネントベースのアーキテクチャにトレンドが移り変わった経緯についてみっちりと説明されています。初見では、Reactのコードが複雑に感じましたが、成り立ちを知ることによって、なぜそうするのかが少しは理解できるようになった気がします。実際にコードを書くうえで役立ちました。

3冊目 Reactの応用テクニックを学ぶ

Mixins、HOC、RenderProps、そしてHooksとこれまで主流だった技術やコードの書き方について学びました。 クラスコンポーネントは馴染みがあるため、ぱっと見で何をやっているのかがわかりやすい一方でHooksは機能に主眼を置いているため、概念を理解するのに苦労しました。 現在の主流はHooksなので、徐々になれていきたいです。

コンポーネント設計の章で気になったのは、コンテナ・プレゼンテーションパターンです。アプリケーションロジックとビューを切り分けることで関心の分離を実現することができるようです。 小規模なプログラムだとあまり活用する機会はないかもしれないですが、今後機会があれば試してみようと思います。

最後にReduxとContext APIによる状態管理の仕方も学びました。 そもそもReduxによって実現可能なFlux パターンとは何なのか、それが実現できると何が嬉しいのかについても知ることができます。 グローバルに状態を扱おうとすると、考えることが増えて一気にコーディングのハードルが上がりますね。 複数のコンポーネントにまたがるような変数の管理は、極力避けたいなと思いました。

おわりに

想像以上に内容が盛り沢山でしたが、対話形式ということもあって楽しく読み進めることができました。 今使われている技術だけではなく、歴史的背景や周辺知識も含めて体系的に学んでみたいという方にオススメしたいです。