「実践TypeScript」
執筆レポート

本日、執筆した TypeScript の技術書が発売されました。TypeScript は昨今、大変注目を集めている言語であり、フロントエンド開発の現場で積極的に採用され始めています。TypeScript は JavaScript に「静的型付け」機能を追加した言語です。プログラムを一旦動かすだけなら、JavaScript の開発経験ひとつで直ぐに習得できます。TypeScript で書いたコードは配布する際、JavaScript に変換され、エンドユーザーにアプリケーションとして届けられます。

静的型付けは何故必要?

フロントエンド開発は、年々求められる技術が複雑化しています。JavaScript は守備範囲が大変広いことから、様々なプラットフォーム(Webページ・Webサーバー・Nativeアプリ)の開発に用いられる様になりました。また、Webページで構成されるアプリケーションであっても、内部実装が肥大化し、JavaScript の言語仕様だけでは、開発体験に支障が出始めています。

例えば、WebサーバーのAPIレスポンス修正が発生したとします。レスポンスに依存している画面が複数ある場合、影響範囲の特定はどの様に行うのか?これは、アプリケーションの規模が大きくなるほど、特定が難しくなってきます。そして最悪のケースでは考慮漏れの事故が発生…という事態になりかねません。

WebサーバーのAPIレスポンスに限らず、アプリケーションというのは、モジュール(コード)同士の依存のもとに成り立っています。それらが引き起こす「依存の事故」を機械的に防ぐ仕組みが「静的型付け」です。今、この様な背景のもと全ての開発言語において、静的型付け言語が求められています。

執筆の経緯は?

技術書典という、同人誌即売会に参加したことがきっかけです。エンジニアや物づくりをする人々が、好きな技術について、好きなだけ本に書く…。その技術に興味があり、知見を得たい購買者が本を求めて集う場所です。(技術書典:https://techbookfest.org/

このイベントでは、Webだけでは得られない、最新のまとまった知識を手頃な価格で手に入れることができます。執筆陣は第一戦で活躍するプロが多く、年々、注目を増しているイベントです。筆者にとっても、現地で有名なエンジニアの方に出会える重要なこのイベント。ここで知り合った知人から情報を仕入れることが出来るため、アンテナを高めることもできます。

昨年秋の 技術書典5 に執筆側として初参加し、TypeScript の同人誌を書き頒布。その時、出版社の方の目にとまったことが、商業誌執筆のスタートでした。もちろん、こんな話はまったくの想定外だったので、日頃から何かをアウトプットしていると、自然と色々なことが起こるのだと、改めて感じる機会でした。

商業誌を書き終えて

平日の夜を活用して、毎日3〜4時間、4ヶ月間書き続けたわけですから、簡単なミッションではありませんでした。執筆要件にもよると思いますが、今回は企画ゼロからのスタート。「刊行時期に需要が見込まれる TypeScript の知識を 300ページ以上書く」という事だけが決まっていて「TypeScript」というテーマでこのボリュームをどう構成するかが、まず初めに考えることでした。

技術アウトプットのかたちは様々です。Twitter・ブログ記事・登壇・本、これらは全て体系が違うため、伝えきれることも変わってきます。同人誌の時と違い、今回のページ数は3倍以上だったため、この差は構成に大きく関わります。その一冊で一本筋を通し、伝えるべき主旨は何か?構成次第で、読み終えた時の達成感は大きく変わります。

これらの考えのもと、テーマに「Next.js & Nuxt.js」を選ぶのは自然な流れでした。様々な文脈の合流点である両者は「体系的に定義された型」とそうでないものに、違いが出ることは身をもって体感していたからです。アプリケーションコードと同等に、型定義にも「設計力」が必要です。最終的には執筆を通じて、この感覚を言語化することができました。

この本で学べること

書籍で取り上げているフレームワークは様々で、これらは特徴が全く異なります。人によっては、すぐに必要にならない章もあるでしょう。しかしながら、それぞれの特徴と型定義のコツを理解することで、普段触れることのない TypeScript の懐の深さを知ることができます。この過程で型定義の設計力を身につける構成のため、この本を手に取られたのなら、他のフレームワークにも是非挑戦してみてほしいと思っています。

TypeScript を導入したとしても、その先にまだ解決されていない課題があることは書籍にも記した通りです。これらの課題と向き合った時、書籍を通じて得られる型定義力は、様々な局面でお役に立てると思います。

本を書くのは特別なことではない

技術書典に参加が決まった当初、何も原稿はありませんでした。ブログ記事を書いた経験が多少あったものの、未知の経験は不安だらけ。何事もそうですが、経験に勝る知見はなく、ひたすら打ち込んでいればコツが分かってくるものです。

無償の情報ももちろんですが、本の場合、執筆の対価としてお金を頂くわけですから、生半可な気持ちでは書けない緊張感が伴います。ですが、その緊張感から確かな情報を探し求めることもまた、自身の糧となります。もし好きな技術について知見が貯まっていたり、素晴らしさを広めたい気持ちを持ち合わせているのなら、執筆の準備は出来ています。みなさんも是非、アウトプットしてみてはいかがでしょうか。