「Removing jQuery from GitHub.com frontend」の学びが多かった件

これまで私はサーバーサイドを中心にやってきてフロントエンドの知識がまだまだなので、例えばフロントエンドはVue.jsがメインだけど部分的にどうしてもDOMを触らなければいけないケースでは「じゃあ、ここはjQuery使うの仕方ないな」という思考になっていたのですが、このエントリーを読んでその考え方を改めないといけないなと思いました。

githubengineering.com

GitHubが脱jQueryしたよという話ですが、最新のブラウザでサポートされているWeb Standardの急速な進化でjQueryの各機能を置き換えられると紹介しています。例えば、

  • $(selector)は、querySelectorAllへ置き換えられる(Selectors APIってやつですね)
  • CSSのclass名の変更はElement.classListでできる
  • アニメーションはJavaScriptではなくCSSで実現できる(Using CSS animations
  • $.ajaxは、Fetch に置き換えられる
  • addEventListener()はプラットフォーム間での使用に充分安定してきた

つまり、MDN web docsを事実上のデフォルトのドキュメントとし、Web Standardを活用することで余計なライブラリに依存する必要がなくなる。その結果、サイズの大きなjQueryの依存が無くなり、ページの読み込み時間とJavaScriptの実行時間を短縮することができると。要約するとそのようなことが書かれています。もちろんIE11をサポートするのであればそれだけじゃ足りなくて、いくつかのPolyfillを入れる必要はありますが。

その他このエントリーでは脱jQueryをどのように進めていったのかも詳細に書かれています。個人的にフロントエンドの領域はまだまだキャッチアップが足りなくて、今回のエントリーはすごく学びが多かったです。

あと、こちらでも脱jQueryの話が書かれているので参考にさせて頂きました。

ics.media