Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javascript in the past and now

Javascript in the past and now

Kusamao Abe

August 02, 2019
Tweet

More Decks by Kusamao Abe

Other Decks in Programming

Transcript

  1. JSは⾊々あってわからない? • DOM API • node.js, npm, bower • webpack,

    browseify • Vue.js, React.js, AngularJS • jQuery • ES X • ノンブロッキングI/O • トランスパイル, babel • gulp, grunt • etc.
  2. ECMAScriptの歴史 όʔδϣϯ උߟ ೥ &$." ॳ൛  &$." ಺༰͸͋·ΓมΘΒͣ 

    &$." USZDBUDIͳͲɺ·ͱ΋ʹͳΓ͸͡ΊΔ  &$." ೋ౓ͷݕ౼΋์غʢ"DUJPO4DSJQUͱ͔੓࣏ͱ͔ʣ &$." ೥લ൒·Ͱͷελϯμʔυɺ͍͍ͩͨࠓͷܗ  &$."ˠ $MBTTߏจςϯϓϨʔτϦςϥϧͳͲϞμϯʹ  &$." "SSBZQSPUPUZQFJODMVEFTͳͲ  &$." BTZODBXBJUͳͲ 
  3. 激しいブラウザ間実装差異 • イベントハンドラの設置すらifで分けて書く必要があった ほど、実装がブラウザ間でごちゃごちゃ • IE , IE がマジで地獄だった •

    標準化が遅々として進まない上、⾃動アップデートなども なかったので実装差異を吸収するライブラリが登場 (Prototype.js, jQuery)
  4. 実⾏速度の⾼速化 • 2008年、Google Chromeが登場 • 当時ほかのブラウザを引き離す実⾏速度 • V (Google V

    JavaScript Engine) • ここからJIT(実⾏時コンパイラ)のチューニングの競争が はじまる
  5. 開発環境整備 • HTML, CSS, 画像, デプロイ, ローカルサーバ⽴ち上げなどた くさん準備するものがある • npm

    install叩いたらできるようになったら便利 • node.jsが開発環境を整えるのに汎く使われるように
  6. ESの進展 • ES 策定失敗の流れからか、ES (のちのES )から標 準化策定がスピードアップ • Classの導⼊など、やっとか!と⾔われるものが少しずつ追 加される

    • AltJSと呼ばれるJSに変換されるための⾔語(もっと書きや すく‧読みやすくする⾔語)からも仕様が取り⼊れられた
  7. 参考⽂献 • JavaScriptの⾮同期処理を並列処理と勘違いしていませんか?
 https://qiita.com/klme_u /items/ea f cbe d f d

    • JavaScriptの同期、⾮同期、コールバック、プロミス辺りを整理してみる
 https://qiita.com/YoshikiNakamura/items/ ded c a f a • JavaScriptが辿った変遷
 https://qiita.com/naoki_mochizuki/items/cc ef d ba a f • ⽇本のインターネット歴史年表 1995年(平成7年)
 https://i.impressrd.jp/e • JavaScript - Wikipedia
 https://ja.wikipedia.org/wiki/JavaScript