JavaScript завтра

  • View
    706

  • Download
    0

Embed Size (px)

Transcript

  1. 1. JavaScript Exante Limited 1 FrontendConf 2015
  2. 2. JavaScript JavaScript JavaScript 2
  3. 3. JavaScript Netscape Navigator Java- , JS 3
  4. 4. JavaScript 4
  5. 5. 1995 Mocha 1995 - Netscape Navigator 2.0 LiveScript 1995 - Netscape Navigator 2.0, JavaScript ( Sun) Netscape JavaScript Netscape Enterprise Server 5
  6. 6. 1996 Microsoft IE 3 JScript 1996 Netscape, W3C, ECMA, TC39 ES1 ( 1996) ES2 ( 1998) 1997 ES3 ( , , switch, do-while ) 18 2005 "Ajax: A New Approach to Web Applications" 6
  7. 7. 2008 ES4 Harmony 2009 ES5 (strict mode, getters, setters, JSON, Object.create ..) 2011 ES5.1 ( ISO/ IEC) 7
  8. 8. JavaScript JavaScript: The Good Parts vs JavaScript: The Denitive Guide 8
  9. 9. 1.0.0 24 2010 CoffeeScript: "It's just JavaScript" Python, Ruby Haskell if, switch, for Dropbox, GitHub , Ruby on Rails 3.1+ 9
  10. 10. : 10
  11. 11. : ES6 "just JavaScript" 11
  12. 12. : rest parameters / spread operators (splats) destructuring assignment => for-of 12
  13. 13. Dart 10 2011. JS, , 4 2014 ECMA-408 25 2015 VM 13
  14. 14. vs Dart team news.ycombinator.com/item?id=9264531 14
  15. 15. : , Dart VM V8 Dart 15
  16. 16. : ES6 Dart 16
  17. 17. PNaCl 12 2013 NaCl C C++ LLVM AOT- Intel x86, ARM MIPS 17
  18. 18. asm.js 21 2013 JavaScript 18
  19. 19. asm.js , , Emscripten AOT- ( V8 JIT) 7 Microsoft Edge 19
  20. 20. JS ClojureScript scala.js LiveScript PureScript Elm TypeScript .. 20
  21. 21. JavaScript 21
  22. 22. JavaScript 22
  23. 23. JavaScript ES6 2015 ECMA 402 (Intl) ECMAScript 23
  24. 24. JavaScript ECMAScript 2015 github.com/lukehoban/es6features Module Loader API (Release Candidate #4, 3.04.2015) ECMAScript 2016+ github.com/tc39/ecma262 github.com/tc39/ecma262/blob/master/stage0.md 24
  25. 25. Traceur Babel TypeScript 1.5+ JSTransform 25
  26. 26. Closure Compiler (JSDoc) Flow TypeScript AtScript ( TypeScript) 26
  27. 27. TypeScript playground Safe TypeScript playground 27
  28. 28. ECMAScript 28 2015 TC-39 JavaScript VM (Sane Mode SoundScript) 1 2015 Stricter Mode SoundScript The Rolling Scopes SoundScript asm.js Traceur Chrome Canary V8 experiments (Strong Mode SoundScript) strawman proposal 28
  29. 29. Sane/Stricter/Strong mode var , arguments 29
  30. 30. Sane/Stricter/Strong mode undened ==, !=, for-in, + , switch eval "weak mode" ( ) 30
  31. 31. SoundScript IDE strong mode gradual (sound) typing , TypeScript ECMAScript 31
  32. 32. SoundScript challenges , , , .. 32
  33. 33. JavaScript ( ) 33
  34. 34. ? github.com/chicoxyzzy twitter.com/chicoxyzzy ru.linkedin.com/in/chicoxyzzy : bit.ly/JS_frontendconf2015 34