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

JavaScript小史

 JavaScript小史

JavaScriptの歴史、です。

badatmath

April 02, 2012
Tweet

More Decks by badatmath

Other Decks in Programming

Transcript

  1. JavaScript
    History
    :VTVLF4IJOP[BLJ
    !CBE@BU@NBUI

    View Slide

  2. ࣗݾ঺հ
    :VTVLF4IJOP[BLJ
    !CBE@BU@NBUI
    IUUQEIBUFOBOFKQCBEBUNBUI

    View Slide

  3. ͓͸ͳ͢͠Δ͜ͱ
    +BWB4DSJQUͷྺ࢙
    ॳظ தظ ݱ୅
    90-00 01-05 06~

    View Slide

  4. +4Ҏલ
    1990: Tim Berners-Lee
    WorldWideWeb
    ্࢙ॳͷϒϥ΢β͕஀ੜ
    ’90

    View Slide

  5. Knight Commander of the
    British Empire
    2004: Sir Tim Berners-Lee
    ࠓͰ͸ʮφΠτʯ༷ɻ
    ͪͳΈʹ

    View Slide

  6. ͪͳΈʹ
    WorldWideWeb
    1.0
    εϖʔεͳ͠

    View Slide

  7. +4Ҏલ
    1993: NCSA
    NCSA Mosaic 1.0
    ը૾ͱςΩετΛ̍ϖʔδʹɻ
    ϓϩτίϧͨ͘͞Μ ➟ Mosaic
    ’93

    View Slide

  8. /FUTDBQF
    ’94
    1994 April 4th
    ౰ॳ͸ Mosaic Communication Corporation
    SGI΍NCSA MosaicνʔϜ͔Βٕज़ऀҾ͖ൈ͖
    1994 October 13th
    Mosaic Netscape 0.9ϦϦʔε
    Netscape Navigator ʹվশ

    View Slide

  9. ’94
    /FUTDBQF
    1994 Dec
    Netscape Navigator 1.0
    ඪ४ʹ४ڌͯ͠ͳ͍෦෼͸େ໨ʹݟͯͶ—

    View Slide

  10. /FUTDBQF
    ’95
    1995 May 23rd
    ˏSun World Conference
    ϒϥ΢βʹJavaɺࡌ͚ͬ·͢ɻ

    View Slide

  11. /FUTDBQF
    ’95
    ͔͠͠
    Java Applet ͸ෳࡶ
    ॳ৺ऀʹ΋޲͍͍ͯͳ͍

    View Slide

  12. /FUTDBQF
    ’95
    ΍ͬͺΓ
    εΫϦϓτݴޠͩΑͶʂ

    View Slide

  13. ’95
    /FUTDBQF
    Scheme

    View Slide

  14. /FUTDBQF
    ’95

    View Slide

  15. /FUTDBQF
    ’95
    Scheme

    View Slide

  16. /FUTDBQF
    ’95
    1995 April
    Brendan Eich
    টᡈ

    View Slide

  17. #SFOEBO&JDI
    ’95
    ʮSchemeͷ࿩͸ʁʯ
    ΧοίେਿͩΖjk
    ʮʂʂʂʂʂʂʯ

    View Slide

  18. -JWF4DSJQU
    ’95
    ௒୹ظͰ࣮૷
    ே࣌̕ग़ۈ
    ໷̎࣌ୀۈ

    View Slide

  19. ’95
    +BWB4DSJQU
    ੓࣏తͳཧ༝ʹΑΓ
    վশ
    Sunͱͷܖ໿

    View Slide

  20. Scheme
    Self
    Java
    +BWB4DSJQUϨγϐ
    4NBMMUBML༝དྷͷ
    ΦϒδΣΫτࢦ޲ݴޠ
    4VO͕։ൃͨ͠Ͳ͜Ͱ΋
    ಈ͘ΦϒδΣΫτࢦ޲ݴޠ
    -*41ͷ࣮૷ͷҰͭ

    View Slide

  21. +BWB4DSJQUϨγϐ
    Scheme Self
    Java
    4DIFNFͱ4FMGΛ
    ͋ΘͤΔɻ
    τοϐϯάʹ+BWBΛ
    গʑৼΓ͔͚Δ

    View Slide

  22. +BWB4DSJQU
    Netscape Navigator 2.0
    ’96
    ՚ʑ͘͠ొ৔ʂ

    View Slide

  23. +BWB4DSJQU
    ’96
    ௚ޙ

    View Slide

  24. +BWB4DSJQU
    Netscape Navigator 2.01
    ’96
    ϦϦʔεʂ

    View Slide

  25. +BWB4DSJQU
    Netscape Navigator 2.01
    ’96
    ॳظઃఆʹ
    ʮJavaScriptΛ࢖༻͠ͳ͍ʯ
    ௥Ճ

    View Slide

  26. Ұํͦͷࠒ
    ϥΠόϧ͸ʁ

    View Slide

  27. 4QZHMBTT *OD
    NCSAͷ਺͋Δٕज़Λ
    ঎༻Խ͢ΔӦۀ෦ୂతاۀ

    View Slide

  28. 4QZHMBTT *OD
    NCSA MosaicͷϥΠηϯε΋
    ͳͷͰ΋ͪΖΜ

    View Slide

  29. 4QZHMBTT *OD
    ϥΠηϯε
    Microsoft
    \
    ’95
    $2,000,000

    View Slide

  30. Microsoft
    Internet Explorer 1.0
    ’95
    1995 August 24th
    ςʔϒϧͷදࣔ͑͞Ͱ͖ͳʢ͈́

    View Slide

  31. Microsoft
    ’96
    NetscapeΛ௥ܸ

    View Slide

  32. ’96
    Microsoft
    Internet Explorer 3.0
    JScriptͷ஀ੜ
    ෆ۩߹͍Ζ͍Ζ͚͋ͬͨͲɾɾ

    View Slide

  33. ’96
    Netscape
    ๷Ӵઓ

    View Slide

  34. +4ඪ४Խ΁ͷಓ
    HTMLΈͨ͘ޓ׵ੑͷ͋Δ΋ͷ΁ʂ
    ’96
    ඪ४ԽͰओಋݖѲΕ͹MS΋ා͘ͳ͍ʂ

    View Slide

  35. +4ඪ४Խ΁ͷಓ
    W3Cʁ
    Ͳ͜ʹ͓Ͷ͕͍͢Δ͔
    ’96
    ͖ͬͱɾɾɾɺ
    ౖͬͯΔΑͶʁ
    ๻Βͷϒϥ΢βɺ
    ४ڌͯ͠ͳ͍Ͷɻ

    View Slide

  36. ඪ४Խ΁ͷಓ
    ݁ہϤʔϩού΁
    ’96

    View Slide

  37. ඪ४Խ΁ͷಓ
    δϡωʔϒʹຊ෦
    ECMA
    ’96
    ࠃࡍඪ४Խػؔ

    View Slide

  38. ඪ४Խ΁ͷಓ
    1997 June
    ECMA-262 (ECMAScript)
    ’97

    View Slide

  39. ඪ४Խ΁ͷಓ
    JavaScript ≒ ECMAScript

    View Slide

  40. ඪ४Խ΁ͷಓ
    JavaScript = ECMAScript + α
    JavaScript ≒ ECMAScript

    View Slide

  41. +BWB4DSJQUͱ͸

    View Slide

  42. &$."4DSJQU
    1st
    ϛχϚϜ࢓༷
    2nd
    υΩϡϝϯτमਖ਼
    ’98
    ’97

    View Slide

  43. &$."4DSJQU
    3rd
    Τϥʔॲཧ΍ਖ਼نදݱɺStringڧԽ
    ॲཧܥඦՖ៶ཚ
    ’99
    ଟ͘ͷΞϓϦέʔγϣϯʹ

    View Slide

  44. ϒϥ΢βઓ૪
    Netscape Microsoft
    vs
    γΣΞ΢ΣΞ ແঈ
    OSόϯυϧ
    Windows
    Mac

    View Slide

  45. ϒϥ΢βઓ૪
    Netscape Microsoft
    vs
    OSόϯυϧ
    Windows
    Mac
    γΣΞ΢ΣΞ ແঈ
    W
    IN!
    Loose!

    View Slide

  46. ॳظͷ͓͸ͳ͠͸
    ͜Ε͘Β͍Ͱ͢ɻ

    View Slide

  47. தظͷ͓͸ͳ͠͸
    ࣮͸ଟ͋͘Γ·ͤΜ

    View Slide

  48. *&
    ϒϥ΢βࢢ৔Λ΄΅ಠ઎
    Pax IE!
    ’01

    View Slide

  49. *&
    W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍
    Ͳ͔ͬͰݟͨ
    ͩ͘ΓͩΑͶʁ

    View Slide

  50. *&
    ঃʑʹଞϒϥ΢βͷϚʔέοτ֦େ
    ηΩϡϦςΟϗʔϧ΋࣍ʑͱ
    W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍

    View Slide

  51. "KBY
    2005 Feb, 15
    Jesse James Garrett
    ’05
    ࢓૊Έࣗମ͸Ҏલ͔Β
    Ajax໋໊

    View Slide

  52. ΄΅*&͕ࢧ഑͠ɺ
    ੈͷத͸ฏ࿨Ͱͨ͠

    View Slide

  53. Ͱ͕͢૪ཚͷ࣌୅ʹ
    ಥೖ͠·͢

    View Slide

  54. ϥΠϒϥϦઓ
    script.aculo.us
    prototype.js
    jQuery

    View Slide

  55. ϒϥ΢βઓʢ࠶ʣ
    Mozilla
    Google
    Opera
    Microsoft
    Apple

    View Slide

  56. ϒϥ΢βઓʢ࠶ʣ
    ࠓճͷ૪఺
    JSΛ͍͔ʹߴ଎
    ʹ࣮ߦͰ͖Δ͔

    View Slide

  57. ϒϥ΢βઓʢ࠶ʣ
    ࠓճͷ૪఺
    AjaxΞϓϦͷ୆಄
    ͔ʹߴ଎
    ͖Δ͔

    View Slide

  58. ϒϥ΢βઓʢ࠶ʣ
    WEBඪ४΁ͷ४ڌ
    ࠓճͷ૪఺

    View Slide

  59. Mozilla
    Google
    Opera
    Microsoft
    Apple
    ϒϥ΢βઓʢ࠶ʣ

    View Slide

  60. ͦ͏͍͑͹ඪ४͸ʁ
    ES4͸ʁ

    View Slide

  61. &4
    Class
    Interface
    ...
    ޓ׵ੑɾɾɾ

    View Slide

  62. %PVHMBT$SPDLGPSE

    View Slide

  63. ͋ͱ+40/΍
    KTMJOUɺKTNJOͳͲ
    %PVHMBT$SPDLGPSE
    l5IF(PPE1BSUTz

    View Slide

  64. %PVHMBT$SPDLGPSE
    &4͸աڈόʔδϣϯͱඇޓ׵
    ͜Ε͕ඪ४Խ͞ΕΔͱੈͷத͸
    #BE1BSUTʹຒΊਚ͘͞ΕΔʂ

    View Slide

  65. %PVHMBT$SPDLGPSE
    ECMAʹΧνίϛ

    View Slide

  66. %PVHMBT$SPDLGPSE
    ECMAʹΧνίϛ
    W
    IN!

    View Slide

  67. %PVHMBT$SPDLGPSE
    ʮεϚϯͳ"EPCFʯ

    View Slide

  68. "EPCF
    w"DUJPO4DSJQU
    ʮ͋ɾɾ"DUJPO4DSJQUग़ͯ͠
    ͨΓ͢Δ͚Ͳɺ΂ɾɾผʹɾɾʯ

    View Slide

  69. "EPCF
    w"DUJPO4DSJQU
    JSؔ࿈Ͱ͸ϗϯτʹπΩ͕ͳ͍ɻ
    ES4͔͠Γɺ
    Τϯδϯ(tamarin)͔͠Γɻ

    View Slide

  70. ؾΛऔΓ௚ͯ͠&4
    ES3.1ϕʔε
    JSONαϙʔτ
    StrictϞʔυͳͲ

    View Slide

  71. &4IBSNPOZ
    ઈࢍٞ࿦த

    View Slide

  72. ͯ͞

    View Slide

  73. *&͞Μͷੜଉঢ়گ

    View Slide

  74. *&$PVOUEPXO
    http://www.ie6countdown.com/

    View Slide

  75. Ruby PHP
    Apache
    Browser
    ΞʔΩςΫνϟͷมભ
    )5.-

    View Slide

  76. 4FSWFS4JEF
    2009೥
    Node.js஀ੜ
    V8: ϒϥ΢βઓ૪ͷࣀ෺
    ’09

    View Slide

  77. SSP, SPAϞσϧͷ୆಄
    Twitter, Facebook
    ΞʔΩςΫνϟͷมભ

    View Slide

  78. $MJFOU4JEF
    Client-Side MVC
    Smartphone

    View Slide

  79. APIαʔό
    CDN
    Browser
    ΞʔΩςΫνϟͷมભ
    +40/
    )5.-JNBHF౳

    TUBUJDBTTFUT
    ˞΋ͪΖΜ·ͩओྲྀͰ͸ͳ͍͚Ͳɻ

    View Slide

  80. Node
    Browser
    Client͔ΒServer·ͰJSͰͰ͖ΔΑʂʂ
    ΞʔΩςΫνϟͷมભ
    CDN
    +40/

    View Slide

  81. ͱΓ·ٕ͘ज़΋มભ

    View Slide

  82. +BWB4DSJQU
    &7&3:8)&3&

    View Slide

  83. 5IBOLT

    View Slide