見出し画像

【書評】「実践 TypeScript」を読みました。

先日、日本ではじめて開催された TypeScript Meetup #1 で本書の著者 Takepepe さんのご厚意により「実践 TypeScript ~ BFF と Next.js & Nuxt.js の型定義 」を 1 冊頂戴しました。

開発の現場で導入に役立つ TypeScript の本

本書の構成としては、以下のとおり前半・後半 2 つに分かれています。

・前半: TypeScript の解説 
・後半: アプリケーション開発における TypeScript の導入

前半では、TypeScript について解説しています。最初は TypeScript の開発環境から始まり、続いて、基本、型推論、型システムについて解説し、最後は Generics や Conditional types といった型をサポートする上で重要になる高度な機能について解説しています。

後半では、アプリケーション開発における TypeScrpt の導入について解説しています。アプリケーション開発の題材として、React、Vue.js といった Web フロントエンドのフレームワークや、Express といった BFF のバックエンドのアーキテクチャの基盤となる Node.js のフレームワーク、そして Next.js / Nuxt.js といったフルスタック的なフレームワークを題材にして解説しています。

開発の現場では、TypeScript のような何らかの新しいものを導入するには、一般的には開発チームの同意が必要になります。前半の部分で TypeScript について知っておくべきことについて必要最小限学ぶことができ、そして後半ではよく現場使われているフレームワークを題材にしているので、非常にコンパクトにまとめられています。開発チームに本書を読めば説得できるような内容に仕上がっているので、非常に良い本だと思います。

この本のターゲット層

前半の TypeScript の解説では、if 文、for 文のようないわゆるプログラミング言語の基本構文の解説はありません。開発環境の章が終わると、型に関する解説が始まります。このため、本書は JavaScript がある程度わかっている人、TypeScript を雰囲気で使って悩んでいる人向けです。JavaScript について全然知らない人、プログラミング言語について全く分からない人は、別の書籍で JavaScript を理解してから、本書を読むのが望ましいでしょう。

この本の素晴らしい所

一般的に TypeScript のようなプログラミング言語本となると言語解説した書籍が多いんですが、本書を読んで感心したのは、型定義について詳しく解説しているのが素晴らしいと思いました。

第8章の「Vue.js と TypeScript」の章では、Vuex の型定義について解説しているんですが、Vuex の型定義について問題点を挙げ、本書の前半で解説した型システムの機能を使い、解決に向けたアプローチの解説の部分は、TypeScript の使い始めた人にとって、今後開発における型定義の仕方のヒントになっているので素晴らしいです。

他にも、良かった点としては、後半の部分は、ひと通り主流になっているフレームワークの型定義について解説しているので、本書をひと通りすべてこなせば、それらフレームワークについても概要を理解しつつ、TypeScript の型定義について理解できるので良いと思いました。

もうちょっと欲しかった所

前半の説明で、型定義の高度なテクニックについて知りたかったです。前半の最後に Utility Types についてありますが、そこは基本紹介するぐらいな感じの解説だったので、Utility Types を使った高度なテクニックとか紹介があると、TypeScript ガチ勢にも楽しめたんではないかと思いました。

まとめ

TypeScript の利用ユーザーは世界的に急速に伸びています。今後、フロントエンド、バックエンドの Web アプリケーションの開発にはなくてはならない開発言語になりつつあります。本書は、そんな状況な中、TypeScript の型定義やアプリケーション開発を実践的かつ効率的に学ぶことができる良い書籍なのでお薦めです。


この記事が気に入ったらサポートをしてみませんか?