対照的な2冊の同人誌を書いた2024年
今年は2冊の同人誌を書き、技術書典16、技術書典17、技書博10に出典しました。
JavaScriptを使う本と使わない本、対照的な2冊になったので、その理由と、それぞれの内容について紹介します。
この記事は、「技術同人誌/技術を取り巻く様々な執筆 Advent Calendar 2024」に参加しています。
1冊目:htmxで学ぶWeb技術
1冊目は話題になっていた「htmx」という技術についての同人誌で、JavaScriptを使わずに動的なWebページを作成する方法について紹介しました。
具体的にhtmxの内容について解説するというよりは、htmxで使われている技術を使うために知っておきたいWebについての技術を紹介した本でした。
2冊目:ブックマークレット32本ノック
2冊目はWebブラウザのブックマークを使ってプログラムを実行する「ブックマークレット」についての同人誌で、JavaScriptを使ってWebページを操作する方法について紹介しました。
「32本ノック」というタイトルの通り、練習問題のような感じでブックマークレットを作る本でした。
JavaScriptの使用について
1冊目は「JavaScriptを使わない」という方針で書きました。実際、私が普段開発するプログラムはサーバー側で処理することが中心で、極力JavaScriptを使わずに実装することが多いものです。
私はJavaScriptについての専門家でもなく、書かなくていいのなら書かない、という方針です。このため、htmxについては非常に便利であり、よく使っています。これを紹介したかったものです。
一方の2冊目は「JavaScriptだけを使う」という方針で書きました。Webブラウザを操作できる言語はJavaScriptだけであり、ブックマークレットや拡張機能で便利な処理を実現できるのはJavaScriptだけです。
このため、私も普段から自分のWebブラウザで自動化したいときにはJavaScriptを使ったブックマークレットを作成しています(もちろん、拡張機能を作ることもありますが、圧倒的にブックマークレットが多いです)。
上記の理由により、1冊目はJavaScriptを使わず、2冊目ではJavaScriptを使う、という本になりました。
具体的な実装を書くかについて
1冊目については、htmxを使うために知っておきたい知識について解説しました。タイトルで「Web技術」と書いているように、Web開発をするときに必須の「HTML」「CSS」「HTTP」「DOM」について解説しました。
手軽に実装できるように小さなサンプルだけを集め、具体的な実装というよりも知っておきたい知識についてまとめた本でした。
逆にいえば、htmxを使うときには基本的なWeb技術についての知識があれば、プログラミングについての知識はそれほど必要ないことが特徴です。
もちろん、htmxで呼び出すサーバー側について、動的な処理をしたければPHPなどサーバー側で動作するアプリを開発する知識は必要ですが、静的なコンテンツを返すだけであればHTMLの知識だけで十分な本にしました。
一方の2冊目については、知識について解説するというよりも具体的な実装について紹介しました。後半の長いものでは、ソースコードが3ページに及ぶものもありました。
こちらはそれぞれの処理内容について簡単に解説しているものの、JavaScriptについての最低限の知識がないと読めないものです。
それでも、「ブックマークに登録する」という特徴から、あまり長いソースコードにならないようにしました。
その他の本
今年(2024年)は、その他にも2冊の商業誌を単著で書き、2冊に執筆協力しました。
いずれもまったく異なるジャンルの本になりました。
来年もまた違うジャンルの本を書いていきます!