JavaScriptの歴史、です。
JavaScriptHistory:VTVLF4IJOP[BLJ!CBE@BU@NBUI
View Slide
ࣗݾհ:VTVLF4IJOP[BLJ!CBE@BU@NBUIIUUQEIBUFOBOFKQCBEBUNBUI
͓ͳ͢͠Δ͜ͱ+BWB4DSJQUͷྺ࢙ॳظ தظ ݱ90-00 01-05 06~
+4Ҏલ1990: Tim Berners-LeeWorldWideWeb্࢙ॳͷϒϥβ͕ੜ’90
Knight Commander of theBritish Empire2004: Sir Tim Berners-LeeࠓͰʮφΠτʯ༷ɻͪͳΈʹ
ͪͳΈʹWorldWideWeb1.0εϖʔεͳ͠
+4Ҏલ1993: NCSANCSA Mosaic 1.0ը૾ͱςΩετΛ̍ϖʔδʹɻϓϩτίϧͨ͘͞Μ ➟ Mosaic’93
/FUTDBQF’941994 April 4thॳ Mosaic Communication CorporationSGINCSA MosaicνʔϜ͔Βٕज़ऀҾ͖ൈ͖1994 October 13thMosaic Netscape 0.9ϦϦʔεNetscape Navigator ʹվশ
’94/FUTDBQF1994 DecNetscape Navigator 1.0ඪ४ʹ४ڌͯ͠ͳ͍෦େʹݟͯͶ—
/FUTDBQF’951995 May 23rdˏSun World ConferenceϒϥβʹJavaɺࡌ͚ͬ·͢ɻ
/FUTDBQF’95͔͠͠Java Applet ෳࡶॳ৺ऀʹ͍͍ͯͳ͍
/FUTDBQF’95ͬͺΓεΫϦϓτݴޠͩΑͶʂ
’95/FUTDBQFScheme
/FUTDBQF’95
/FUTDBQF’95Scheme
/FUTDBQF’951995 AprilBrendan Eichটᡈ
#SFOEBO&JDI’95ʮSchemeͷʁʯΧοίେਿͩΖjkʮʂʂʂʂʂʂʯ
-JWF4DSJQU’95ظͰ࣮ே࣌̕ग़ۈ̎࣌ୀۈ
’95+BWB4DSJQU࣏తͳཧ༝ʹΑΓվশSunͱͷܖ
SchemeSelfJava+BWB4DSJQUϨγϐ4NBMMUBML༝དྷͷΦϒδΣΫτࢦݴޠ4VO͕։ൃͨ͠Ͳ͜Ͱಈ͘ΦϒδΣΫτࢦݴޠ-*41ͷ࣮ͷҰͭ
+BWB4DSJQUϨγϐScheme SelfJava4DIFNFͱ4FMGΛ͋ΘͤΔɻτοϐϯάʹ+BWBΛগʑৼΓ͔͚Δ
+BWB4DSJQUNetscape Navigator 2.0’96՚ʑ͘͠ొʂ
+BWB4DSJQU’96ޙ
+BWB4DSJQUNetscape Navigator 2.01’96ϦϦʔεʂ
+BWB4DSJQUNetscape Navigator 2.01’96ॳظઃఆʹʮJavaScriptΛ༻͠ͳ͍ʯՃ
ҰํͦͷࠒϥΠόϧʁ
4QZHMBTT *ODNCSAͷ͋Δٕज़Λ༻Խ͢ΔӦۀ෦ୂతاۀ
4QZHMBTT *ODNCSA MosaicͷϥΠηϯεͳͷͰͪΖΜ
4QZHMBTT *ODϥΠηϯεMicrosoft\’95$2,000,000
MicrosoftInternet Explorer 1.0’951995 August 24thςʔϒϧͷදࣔ͑͞Ͱ͖ͳʢ͈́
Microsoft’96NetscapeΛܸ
’96MicrosoftInternet Explorer 3.0JScriptͷੜෆ۩߹͍Ζ͍Ζ͚͋ͬͨͲɾɾ
’96NetscapeӴઓ
+4ඪ४ԽͷಓHTMLΈͨ͘ޓੑͷ͋Δͷʂ’96ඪ४ԽͰओಋݖѲΕMSා͘ͳ͍ʂ
+4ඪ४ԽͷಓW3CʁͲ͜ʹ͓Ͷ͕͍͢Δ͔’96͖ͬͱɾɾɾɺౖͬͯΔΑͶʁΒͷϒϥβɺ४ڌͯ͠ͳ͍Ͷɻ
ඪ४Խͷಓ݁ہϤʔϩού’96
ඪ४Խͷಓδϡωʔϒʹຊ෦ECMA’96ࠃࡍඪ४Խػؔ
ඪ४Խͷಓ1997 JuneECMA-262 (ECMAScript)’97
ඪ४ԽͷಓJavaScript ≒ ECMAScript
ඪ४ԽͷಓJavaScript = ECMAScript + αJavaScript ≒ ECMAScript
+BWB4DSJQUͱ
&$."4DSJQU1stϛχϚϜ༷2ndυΩϡϝϯτमਖ਼’98’97
&$."4DSJQU3rdΤϥʔॲཧਖ਼نදݱɺStringڧԽॲཧܥඦՖ៶ཚ’99ଟ͘ͷΞϓϦέʔγϣϯʹ
ϒϥβઓ૪Netscape MicrosoftvsγΣΞΣΞ ແঈOSόϯυϧWindowsMac
ϒϥβઓ૪Netscape MicrosoftvsOSόϯυϧWindowsMacγΣΞΣΞ ແঈWIN!Loose!
ॳظͷ͓ͳ͜͠Ε͘Β͍Ͱ͢ɻ
தظͷ͓ͳ࣮͠ଟ͋͘Γ·ͤΜ
*&ϒϥβࢢΛ΄΅ಠPax IE!’01
*&W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍Ͳ͔ͬͰݟͨͩ͘ΓͩΑͶʁ
*&ঃʑʹଞϒϥβͷϚʔέοτ֦େηΩϡϦςΟϗʔϧ࣍ʑͱW3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍
"KBY2005 Feb, 15Jesse James Garrett’05ΈࣗମҎલ͔ΒAjax໋໊
΄΅*&͕ࢧ͠ɺੈͷதฏͰͨ͠
Ͱ͕͢૪ཚͷ࣌ʹಥೖ͠·͢
ϥΠϒϥϦઓscript.aculo.usprototype.jsjQuery
ϒϥβઓʢ࠶ʣMozillaGoogleOperaMicrosoftApple
ϒϥβઓʢ࠶ʣࠓճͷ૪JSΛ͍͔ʹߴʹ࣮ߦͰ͖Δ͔
ϒϥβઓʢ࠶ʣࠓճͷ૪AjaxΞϓϦͷ಄͔ʹߴ͖Δ͔
ϒϥβઓʢ࠶ʣWEBඪ४ͷ४ڌࠓճͷ૪
MozillaGoogleOperaMicrosoftAppleϒϥβઓʢ࠶ʣ
ͦ͏͍͑ඪ४ʁES4ʁ
&4ClassInterface...ޓੑɾɾɾ
%PVHMBT$SPDLGPSE
͋ͱ+40/KTMJOUɺKTNJOͳͲ%PVHMBT$SPDLGPSEl5IF(PPE1BSUTz
%PVHMBT$SPDLGPSE&4աڈόʔδϣϯͱඇޓ͜Ε͕ඪ४Խ͞ΕΔͱੈͷத#BE1BSUTʹຒΊਚ͘͞ΕΔʂ
%PVHMBT$SPDLGPSEECMAʹΧνίϛ
%PVHMBT$SPDLGPSEECMAʹΧνίϛWIN!
%PVHMBT$SPDLGPSEʮεϚϯͳ"EPCFʯ
"EPCFw"DUJPO4DSJQUʮ͋ɾɾ"DUJPO4DSJQUग़ͯͨ͠Γ͢Δ͚Ͳɺɾɾผʹɾɾʯ
"EPCFw"DUJPO4DSJQUJSؔ࿈ͰϗϯτʹπΩ͕ͳ͍ɻES4͔͠ΓɺΤϯδϯ(tamarin)͔͠Γɻ
ؾΛऔΓͯ͠&4ES3.1ϕʔεJSONαϙʔτStrictϞʔυͳͲ
&4IBSNPOZઈࢍٞத
ͯ͞
*&͞Μͷੜଉঢ়گ
*&$PVOUEPXOhttp://www.ie6countdown.com/
Ruby PHPApacheBrowserΞʔΩςΫνϟͷมભ)5.-
4FSWFS4JEF2009Node.jsੜV8: ϒϥβઓ૪ͷࣀ’09
SSP, SPAϞσϧͷ಄Twitter, FacebookΞʔΩςΫνϟͷมભ
$MJFOU4JEFClient-Side MVCSmartphone
APIαʔόCDNBrowserΞʔΩςΫνϟͷมભ+40/)5.-JNBHFTUBUJDBTTFUT˞ͪΖΜ·ͩओྲྀͰͳ͍͚Ͳɻ
NodeBrowserClient͔ΒServer·ͰJSͰͰ͖ΔΑʂʂΞʔΩςΫνϟͷมભCDN+40/
ͱΓ·ٕ͘ज़มભ
+BWB4DSJQU&7&3:8)&3&
5IBOLT