意見
Reactとの比較になりますが、Hotwireで使うJavaScriptは簡単です。Hotwireは入門書程度のJavaScriptで十分に書けます。
Array.forEach()
とかArray.filter()
などの初歩的なものを使ってDOM操作はしますが、高階関数を意識することはまずありません。fetch()
というでサーバと通信をするときだけです。それさえなければ、async awaitの必要性は激減しますfetch()
はすべてTurboが担当します。そしてTurboは通常はJavaScriptすら必要なく、HTMLの属性を書くだけで十分です。もちろんasync awaitは登場しませんHotwireの方が入門者、もしくはJavaScriptに特に詳しくないウェブデザイナーにとって優しいライブラリーと言えると思います。
先日、「1冊ですべて身につくJavaScript入門講座」を購入して読んでみました。
この入門書で学習するJavaScriptの範囲は下記のものです。
document.querySelector()
などのセレクタelement.addEventListener()
などのイベント処理element.textContent
, element.classList
などのDOM操作for
文、if
文Array
やObject
への基本的な値の出し入れ「これじゃ全然足りない!もっとJavaScriptをちゃんと勉強しないと現場で使えない」とお思いかもしれませんが、私が本サイトで書いているStimulus Controllerはこれでほぼカバーできます。JavaScript classの基本、三項演算子、setInterval()
を追加すれば良い程度です。
別の言い方をすれば、Reactで必要とされる高レベルのJavaScriptは偶有的な複雑性です。本質的な複雑性は入門レベルのJavaScriptでカバーされています。