JSバンドリング/トランスパイルなしの最新Webアプリ
(world.hey.com)-
Ruby on Rails開発者DHHの考え: "JavaScriptの未来はES6/HTTP2/Import maps"
-
No Transpiler: ES6がすべてのブラウザで使えるようになり、もうトランスパイラは不要になった
-
No Bundler: HTTP2が標準になったことで、小さなファイルを1つにまとめる必要がなくなった
-
Import maps: 最も重要な変化
→ ES6モジュールに対して、ファイル参照ではなく論理参照が可能
→ ファイル名にハッシュを入れ、変更のたびにファイル名を変える代わりに、モジュールとファイル名を結びつけるマップだけ更新すればよい
→ すでにChromeとEdgeは対応済み。Firefoxも検討中で、Safariにはまだ動きがないが、優れたshimがすでにある
→ Import mapsの手動管理にはまだ作業が必要だが、Railsには importmap-rails gem を用意してある
-
この3つの組み合わせにより、ローカルでNodeをインストールする必要のない開発環境の構築が可能
-
Hotwire向けのStimulus、Turboにはすでにこのセットアップを適用済み
-
もちろん、まだWebpackが必要なアプリケーションも存在するが、徐々に変わってきている
2件のコメント
私は、Web開発をシンプルに保とうとするDHHの方向性は正しいと思います。
最近は何を作るにしても、惰性でフロントエンドを付けようとする傾向がありますが、そのトレンドには疑問を感じています。
あの import maps が、また別の無駄な試行錯誤の出発点になるかもしれない……。