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

Javascript in the past and now

Javascript in the past and now

Avatar for Kusamao Abe

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