第2回 そもそもなんでこんなことをやらされているのか
↑ のまとめ
ECMAScript : JavaScriptの標準仕様
JavaScriptとJScriptに分かれていたものを統一したい -> ES4で、新機能をたくさん入れたい改革推進派と反対派に分離
結果的にES4は葬り去られ、ES5も実質的にES3.1
ES3からES6 (ES2015) まで15年、jQuery/Angular/React/Vueはこの間に生まれている
今では嬉しさが減ったjQueryだが、かつてはjQueryが環境ごとの差異を吸収してくれるなど、かなり嬉しさがあった
DOM APIも進化してきた
Google Mapsをきっかけに、現在のAjax (当時からこのように呼ばれていたわけではない) が流行る -> Web2.0
Google Chromeが登場すると、V8が速度的に実用に耐えうるレベルだった
-> Webに機能を寄せても大丈夫そう
-> Node,jsの登場
scriptタグでモジュールを読み込むには数々の難点がある
1つにまとめれば解決
そもそもJSのモジュールは種類がいくつかある
requireスタイル (CommonJS) / importスタイル (ECMAScript)
そもそもなんでこんなことをやらされているのか
Webで考えるべきは クライアントサイド、すなわち実際に実行される環境であり、開発者の手元で動くからと言って誰の手元でも動くわけではない。
最高の開発者体験 (プログラマは最新の記法でコードを書きたい) と クライアントサイドで動作すること (実際のユーザーの環境では最新の記法は動かない) の両立
Webpack
バンドラ (先述のモジュール問題を一発で解決してくれる)
ただのバンドラではなく、オールインワンツールであることが人気の理由
TypeScript
最高の開発者体験、ただしそのままではブラウザで動かない (将来的には動くようになるとかなんとか)
Browserify
最新の記法で書いたコードを、一般的なクライアントの環境で動く程度まで古い記法に変換してくれる。
最近あんまり見ない気がする (主観)