Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScript小史
Search
badatmath
April 02, 2012
Programming
13
4.7k
JavaScript小史
JavaScriptの歴史、です。
badatmath
April 02, 2012
Tweet
Share
More Decks by badatmath
See All by badatmath
Rickshaw
badatmath
0
350
Node.js入門
badatmath
20
10k
Other Decks in Programming
See All in Programming
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
350
Open source software: how to live long and go far
gaelvaroquaux
0
640
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
Writing documentation can be fun with plugin system
okuramasafumi
0
120
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
740
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
190
DROBEの生成AI活用事例 with AWS
ippey
0
130
Honoとフロントエンドの 型安全性について
yodaka
7
1.3k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
910
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
130
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Building an army of robots
kneath
303
45k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Designing for Performance
lara
604
68k
KATA
mclloyd
29
14k
GitHub's CSS Performance
jonrohan
1030
460k
Designing Experiences People Love
moore
140
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Fireside Chat
paigeccino
34
3.2k
Transcript
JavaScript History :VTVLF4IJOP[BLJ !CBE@BU@NBUI
ࣗݾհ :VTVLF4IJOP[BLJ !CBE@BU@NBUI IUUQEIBUFOBOFKQCBEBUNBUI
͓ͳ͢͠Δ͜ͱ +BWB4DSJQUͷྺ࢙ ॳظ தظ ݱ 90-00 01-05 06~
+4Ҏલ 1990: Tim Berners-Lee WorldWideWeb ্࢙ॳͷϒϥβ͕ੜ ’90
Knight Commander of the British Empire 2004: Sir Tim Berners-Lee
ࠓͰʮφΠτʯ༷ɻ ͪͳΈʹ
ͪͳΈʹ WorldWideWeb 1.0 εϖʔεͳ͠
+4Ҏલ 1993: NCSA NCSA Mosaic 1.0 ը૾ͱςΩετΛ̍ϖʔδʹɻ ϓϩτίϧͨ͘͞Μ ➟ Mosaic
’93
/FUTDBQF ’94 1994 April 4th ॳ Mosaic Communication Corporation SGINCSA
MosaicνʔϜ͔Βٕज़ऀҾ͖ൈ͖ 1994 October 13th Mosaic Netscape 0.9ϦϦʔε Netscape Navigator ʹվশ
’94 /FUTDBQF 1994 Dec Netscape Navigator 1.0 ඪ४ʹ४ڌͯ͠ͳ͍෦େʹݟͯͶ—
/FUTDBQF ’95 1995 May 23rd ˏSun World Conference ϒϥβʹJavaɺࡌ͚ͬ·͢ɻ
/FUTDBQF ’95 ͔͠͠ Java Applet ෳࡶ ॳ৺ऀʹ͍͍ͯͳ͍
/FUTDBQF ’95 ͬͺΓ εΫϦϓτݴޠͩΑͶʂ
’95 /FUTDBQF Scheme
/FUTDBQF ’95
/FUTDBQF ’95 Scheme
/FUTDBQF ’95 1995 April Brendan Eich টᡈ
#SFOEBO&JDI ’95 ʮSchemeͷʁʯ ΧοίେਿͩΖjk ʮʂʂʂʂʂʂʯ
-JWF4DSJQU ’95 ظͰ࣮ ே࣌̕ग़ۈ ̎࣌ୀۈ
’95 +BWB4DSJQU ࣏తͳཧ༝ʹΑΓ վশ Sunͱͷܖ
Scheme Self Java +BWB4DSJQUϨγϐ 4NBMMUBML༝དྷͷ ΦϒδΣΫτࢦݴޠ 4VO͕։ൃͨ͠Ͳ͜Ͱ ಈ͘ΦϒδΣΫτࢦݴޠ -*41ͷ࣮ͷҰͭ
+BWB4DSJQUϨγϐ Scheme Self Java 4DIFNFͱ4FMGΛ ͋ΘͤΔɻ τοϐϯάʹ+BWBΛ গʑৼΓ͔͚Δ
+BWB4DSJQU Netscape Navigator 2.0 ’96 ՚ʑ͘͠ొʂ
+BWB4DSJQU ’96 ޙ
+BWB4DSJQU Netscape Navigator 2.01 ’96 ϦϦʔεʂ
+BWB4DSJQU Netscape Navigator 2.01 ’96 ॳظઃఆʹ ʮJavaScriptΛ༻͠ͳ͍ʯ Ճ
Ұํͦͷࠒ ϥΠόϧʁ
4QZHMBTT *OD NCSAͷ͋Δٕज़Λ ༻Խ͢ΔӦۀ෦ୂతاۀ
4QZHMBTT *OD NCSA MosaicͷϥΠηϯε ͳͷͰͪΖΜ
4QZHMBTT *OD ϥΠηϯε Microsoft \ ’95 $2,000,000
Microsoft Internet Explorer 1.0 ’95 1995 August 24th ςʔϒϧͷදࣔ͑͞Ͱ͖ͳʢ͈́
Microsoft ’96 NetscapeΛܸ
’96 Microsoft Internet Explorer 3.0 JScriptͷੜ ෆ۩߹͍Ζ͍Ζ͚͋ͬͨͲɾɾ
’96 Netscape Ӵઓ
+4ඪ४Խͷಓ HTMLΈͨ͘ޓੑͷ͋Δͷʂ ’96 ඪ४ԽͰओಋݖѲΕMSා͘ͳ͍ʂ
+4ඪ४Խͷಓ W3Cʁ Ͳ͜ʹ͓Ͷ͕͍͢Δ͔ ’96 ͖ͬͱɾɾɾɺ ౖͬͯΔΑͶʁ Βͷϒϥβɺ ४ڌͯ͠ͳ͍Ͷɻ
ඪ४Խͷಓ ݁ہϤʔϩού ’96
ඪ४Խͷಓ δϡωʔϒʹຊ෦ ECMA ’96 ࠃࡍඪ४Խػؔ
ඪ४Խͷಓ 1997 June ECMA-262 (ECMAScript) ’97
ඪ४Խͷಓ JavaScript ≒ ECMAScript
ඪ४Խͷಓ JavaScript = ECMAScript + α JavaScript ≒ ECMAScript
+BWB4DSJQUͱ
&$."4DSJQU 1st ϛχϚϜ༷ 2nd υΩϡϝϯτमਖ਼ ’98 ’97
&$."4DSJQU 3rd Τϥʔॲཧਖ਼نදݱɺStringڧԽ ॲཧܥඦՖ៶ཚ ’99 ଟ͘ͷΞϓϦέʔγϣϯʹ
ϒϥβઓ૪ Netscape Microsoft vs γΣΞΣΞ ແঈ OSόϯυϧ Windows Mac
ϒϥβઓ૪ Netscape Microsoft vs OSόϯυϧ Windows Mac γΣΞΣΞ ແঈ W
IN! Loose!
ॳظͷ͓ͳ͠ ͜Ε͘Β͍Ͱ͢ɻ
தظͷ͓ͳ͠ ࣮ଟ͋͘Γ·ͤΜ
*& ϒϥβࢢΛ΄΅ಠ Pax IE! ’01
*& W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍ Ͳ͔ͬͰݟͨ ͩ͘ΓͩΑͶʁ
*& ঃʑʹଞϒϥβͷϚʔέοτ֦େ ηΩϡϦςΟϗʔϧ࣍ʑͱ W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍
"KBY 2005 Feb, 15 Jesse James Garrett ’05 ΈࣗମҎલ͔Β Ajax໋໊
΄΅*&͕ࢧ͠ɺ ੈͷதฏͰͨ͠
Ͱ͕͢૪ཚͷ࣌ʹ ಥೖ͠·͢
ϥΠϒϥϦઓ script.aculo.us prototype.js jQuery
ϒϥβઓʢ࠶ʣ Mozilla Google Opera Microsoft Apple
ϒϥβઓʢ࠶ʣ ࠓճͷ૪ JSΛ͍͔ʹߴ ʹ࣮ߦͰ͖Δ͔
ϒϥβઓʢ࠶ʣ ࠓճͷ૪ AjaxΞϓϦͷ಄ ͔ʹߴ ͖Δ͔
ϒϥβઓʢ࠶ʣ WEBඪ४ͷ४ڌ ࠓճͷ૪
Mozilla Google Opera Microsoft Apple ϒϥβઓʢ࠶ʣ
ͦ͏͍͑ඪ४ʁ ES4ʁ
&4 Class Interface ... ޓੑɾɾɾ
%PVHMBT$SPDLGPSE
͋ͱ+40/ KTMJOUɺKTNJOͳͲ %PVHMBT$SPDLGPSE l5IF(PPE1BSUTz
%PVHMBT$SPDLGPSE &4աڈόʔδϣϯͱඇޓ ͜Ε͕ඪ४Խ͞ΕΔͱੈͷத #BE1BSUTʹຒΊਚ͘͞ΕΔʂ
%PVHMBT$SPDLGPSE ECMAʹΧνίϛ
%PVHMBT$SPDLGPSE ECMAʹΧνίϛ W IN!
%PVHMBT$SPDLGPSE ʮεϚϯͳ"EPCFʯ
"EPCF w"DUJPO4DSJQU ʮ͋ɾɾ"DUJPO4DSJQUग़ͯ͠ ͨΓ͢Δ͚Ͳɺɾɾผʹɾɾʯ
"EPCF w"DUJPO4DSJQU JSؔ࿈ͰϗϯτʹπΩ͕ͳ͍ɻ ES4͔͠Γɺ Τϯδϯ(tamarin)͔͠Γɻ
ؾΛऔΓͯ͠&4 ES3.1ϕʔε JSONαϙʔτ StrictϞʔυͳͲ
&4IBSNPOZ ઈࢍٞத
ͯ͞
*&͞Μͷੜଉঢ়گ
*&$PVOUEPXO http://www.ie6countdown.com/
Ruby PHP Apache Browser ΞʔΩςΫνϟͷมભ )5.-
4FSWFS4JEF 2009 Node.jsੜ V8: ϒϥβઓ૪ͷࣀ ’09
SSP, SPAϞσϧͷ಄ Twitter, Facebook ΞʔΩςΫνϟͷมભ
$MJFOU4JEF Client-Side MVC Smartphone
APIαʔό CDN Browser ΞʔΩςΫνϟͷมભ +40/ )5.-JNBHF TUBUJDBTTFUT ˞ͪΖΜ·ͩओྲྀͰͳ͍͚Ͳɻ
Node Browser Client͔ΒServer·ͰJSͰͰ͖ΔΑʂʂ ΞʔΩςΫνϟͷมભ CDN +40/
ͱΓ·ٕ͘ज़มભ
+BWB4DSJQU &7&3:8)&3&
5IBOLT