スクリーンショット_2019-06-07_21

実践TypeScript - 内容のご紹介 -

ここ最近、TypeScript の盛り上がりが本当にすごいですね。私ごとながら、昨年末からずっと書き続けていた TypeScript の技術書が、ようやく本日校了しました。Twitter で告知をしたところ、想像以上に反響があり驚いています。あれだけ高価な本、予約するには情報が不十分です。「買ってみたが期待はずれだった」という方が出ないよう、内容についてご紹介します。

対象読者

もし皆さまが、体型的にアプリケーションを構築する術を身に付けたいと考えているなら、別途、書籍や文献をお求めください。本書は、JavaScript には存在しない、TypeScript 特有の知識を体系的に学ぶための一冊です。想定している対象読者は、ある程度 JavaScript でアプリケーションを作った経験がある方で、型の話がメインです。

本書の目的

様々な事情から、TypeScript  の現場導入に苦戦している話はよく聞きますが「そもそも何が課題であり、型で何を解決しようとしているのか」を、十分に説明できるでしょうか? スピードが生命線のサービス開発。『TypeScript 導入は、時間を浪費するだけかもしれない…』と判断し、不採用に至ったチームもあるのではないでしょうか? 本書の執筆にあたって目標としたことはたくさんありますが、これらの背景から、とりわけ次の3点を重視しました。

・初学者でもわかりやすいこと
・TypeScript の導入意義を伝える一助となること
・課題を明らかにし、型定義のあるべき姿に到達すること

本書を読めば「TypeScript は品質の高いコードを素早く築くパートナーである」ことが分かります。とはいえ、よい話ばかりではなく「つらい」という声が一定数あることも事実です。よいライブラリを使えば自動的によいアプリケーションが作れるわけではないように、型定義も個人の力量とアイディアが重要です。本書は、そんな「型定義」 のスキルアップを目指すには最適の一冊です。

第1部 導入編

・第1章 開発環境と設定
・第2章 TypeScript の基礎
・第3章 TypeScript の型推論
・第4章 TypeScript の型安全
・第5章 TypeScript の型システム
・第6章 TypeScript の高度な型

第2部 実践編

・第7章 React と TypeScript
・第8章 Vue.js と TypeScript
・第9章 Express と TypeScript
・第10章 Next.js と TypeScript
・第11章 Nuxt.js と TypeScript

第2部の実践編は「Next.js / Nuxt.js」を Express サーバーに載せるところまで書いています。その間に遭遇する型課題をひとつずつ解き、その過程で、TypeScript の理解を深め、知識をつける構成としました。「TS公式ドキュメントで見かけたことがある記法だったが、こんな使い道だったのか!」と思ってもらえるものを目指しました。

「Next.js / Nuxt.js 、どちらかにしか興味がない」あるいは「どちらかだけを使っている」のであれば、これを機に他方のフレームワークにも挑戦してみて下さい。TypeScript の知識が、より深く身に付きます。(おまけに両フレームワークが使える様になるかも…)

なかでも Vuex の型定義手法は、筆者が自信を持ってお届けする一次創作です。素の Vuex に対し型定義の知識を総導入すれば、型課題解決のために何か module を追加する必要がないことを突き止めています。ライブラリに頼らない「型定義の力と知識」が必要なため、書籍の題材には良いものだと考えました。こちらは以前から Twitter で告知していますが、サンプルリポジトリは既に公開していますので、興味がある方は覗いてみてください。何をすれば良いのかはリポジトリに記しており、こうなった根拠や、それを支える TypeScript の機能について本書で解き明かしています。https://github.com/takefumi-yoshii/ts-nuxtjs-express

普段業務では React ばかり書いている筆者ですが、今回 Vuex の型課題に挑んだことで、型定義の可能性を垣間見る機会となりました。Vue.js 周りの型課題を、型パズルで解いていくのが密かに筆者の趣味だったりします。

冒頭のとおり、フレームワークの使い方を学ぶ目的としては手薄ですので、ご了承ください。フレームワークの一部の API 知識が廃れてしまっても、それらを支える型定義の基礎知識は、揺らぎのないものです。2019 年現在、人気の Universal Web Application フレームワークを通じて、TypeScript を学ぶ一冊と捉えていただければ嬉しいです。

2019.6.26 発売予定で、現在は紙書籍のみの予約となっています。Kindle版・PDF版も、発売日の数日前から予約を開始いたします。もしご興味いただけたら、ひとつよろしくお願いいたします。

実践TypeScript ~ BFFとNext.js&Nuxt.jsの型定義~(@マイナビ出版)

Twitter:https://twitter.com/takepepe
Qiita:https://qiita.com/Takepepe

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