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
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
160
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
ソフトウェアエンジニアの成長
masuda220
PRO
10
1.1k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
150
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
190
Rails アプリ地図考 Flush Cut
makicamel
1
120
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
220
Domain-Driven Transformation
hschwentner
2
1.9k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
260
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
時計仕掛けのCompose
mkeeda
1
300
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Bash Introduction
62gerente
611
210k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building Adaptive Systems
keathley
40
2.4k
Building an army of robots
kneath
303
45k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Invisible Side of Design
smashingmag
299
50k
Into the Great Unknown - MozCon
thekraken
35
1.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
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