Eich)によって開発された。当初はLiveScriptと呼ばれていた。Microsystems(現Oracle)が開発していたプログラミングJavaが脚光を浴びていた。それにあやかってJavascriptとしたのだそうである。言語として、JavaとJavascriptはなんら関係はない。Navigatorを発表した。それまでにもいくつかのブラウザは存在したが、このNavigatorはHTML標準への準拠度が高かったこと、実質無料配布されたことにより、発表以来すぐに絶対的なシェアを獲得した。Exproler)を発表、ベストセラーWindows95に同梱したため、一挙に強力なライバルになった。2.0に実装され、その競争での優位性を確保しようとした。これがJavascriptの起源である。1996年、Microsoft、JScript,VBScriptをIE3.0に実装MicrosoftもすぐにIEにJavascriptを搭載しようとしたのだが、NetscapeはMicrosoftのライセンスを供与しなかった。BASICのサブセットであるVBScriptと合わせて、1996年にIE3.0に実装した。JScriptはJavascriptに似ているとはいえ、かなり非互換の部分があった。両者は優位性を示すために個別の機能を拡張した。そのため、Javascriptで作成したスクリプトはIEでは動かない、JScriptはNavigatorでは動かない。そのためWebページ開発者は、両方のブラウザで動かすために、面倒な工夫をする必要が生じた。個々のブラウザに搭載されているものがJavaScriptなのだが、ECMAScriptをJavascriptということが多く、ECMAScriptのバージョンはJavascriptバージョンと呼ばれている。Javascriptはブラウザで実行される。ECMA仕様は、ブラウザへの実装は言語開発者に任されているし、解釈があいまいな部分もある。ブラウザ開発者は、ECMAの正式規格になる以前に、その機能を先取りして実装している。そのため、実際に流布しているJavascriptは(完全に)規格に準拠しているとはいえないし、ブラウザ間で非互換になる部分もある。開発コードHarmony(HTML5との関係?)ブラウザでの対応その後、有力なブラウザが出現してきた。これらは当初からECMA準拠を重視しており、次第にIEの非互換性が問題視されるようになってきた。現在では、MicrosoftもECMA準拠を宣言している。(ノルウェー)・Safari:2003年、Apple・Firefox:2004年、Mozilla(Netscapeを元とする非営利団体)・Chrome:2008年、Google1990年代:Javascript軽視の時代ブラウザ間での競争激化とは裏腹に、プログラミング言語としてのJavascriptの評価は低かった。一流のプログラマやWebデザイナーは、Javascriptを軽視していた。初期のJavascript1997年頃までの初期のJavascriptは、言語としての評価は低かった。Web環境での言語として既にCやJavaがあった。レベルだとみなされていた。HTMLの制約として、Javascriptの動作範囲は現在表示されているWebページ内に限定されていた。そのため、用途はformから入力されたデータを加工してformに表示する程度に限定されてしまう。当時既にCやJavaで作ったプログラムをHTMLからCGIを介して呼び出すことができていたので、それを使うほうが主流であった。DHTMLへのニーズは高く、それをJavascriptだけで実現できれば便利である。ここでも独自拡張による非互換が多く、Web作成者を悩ませた。CGIを用いるほうが、重くはあっても、多様な機能を実現するのに便利だった。動画や音声の利用では、1996年にFlashが開発され、それを用いるのが主流になってしまった。DHTMLへの関心は高まったが、Javascriptとしての発展は限定的であった。2000年代前半:Javascript受難の時代この頃になると、Javascriptはかなりの機能をもち標準化も進んだ。そのため、、ほとんどのWebページになんらかの用途にJavascriptが使われるようになった。ECMAが第3版以降中断されていたように、抜本的な変化は起こらず、特記する出来事はない。この頃から個人(素人)がWebページを作成するようになり、Webページの体裁に凝ってJavaScriptを使ったごてごてした重いページが氾濫するようになった。セキュリティへの考慮が不十分で、Javascriptの脆弱性をつくウイルスが出現した。そのため、ブラウザのJavascript機能を遮断する設定をする人も増えてきた。2000年代後半:Ajaxの普及-Javascriptの復権2005年になると状況が一変する。Javascriptが重要な技術として再認識され、急速な発展をするようになった。JavaScript+XML)とは、サーバから受け取ったデータを、サーバとの通信なしでパソコンのブラウザ内で操作できる非同期通信、サーバに存在する他のファイルを表示しているHTMLに動的に表示させるインターフェイスなどの技術の総称である。Javascriptだけでブラウザ表示画面を動的変化できる技術として広く用いられている。Ajaxの起源Ajaxの基本となる技術(関数として利用する)は、XMLHttpRequestである。コントロールとして作成され、1999年IE5に実装された。多ブラウザのAjax対応2004年からFirefox(1.0)、Opera(7.6)、Safari(1.2)など多くのブラウザがAjax対応した。2006年にW3CはXMLHttpRequestの標準仕様を策定し正式仕様にした。これらのブラウザは、XMLHttpRequestオブジェクトをDOMとしてネイティブでサポートしたのであるが、IEは、これに先行してActiveXオブジェクトとして実装していたため、XMLHttpRequestを使うとき、ブラウザの違いを意識する必要があった(2006年のIE7からは他のブラウザと一致させた)。地図の移動や拡大縮小がスムーズにできる。これまでにも動的なWebページへの要望が多かったが、多様なアドインソフトを使う必要があった。それが従来からあったJavascriptを使うだけで、実現してみせたので、それを応用したアプリケーションが急増した。当時は「Ajax」という言葉はなかった。XMLの短縮語として命名したのだという。ギャレットは、Ajaxを次のように定義している(現在からみるXMLに限定しているが)。・それらをJavaScriptによって結びつけるAjaxの普及-ライブラリAjaxの普及を促進した背景の一つは、Javascriptライブラリの提供である。代表的なものにPrototype.jsとjQueryがある。Resig)により開発されたJavascriptライブラリである。Ajax関連の多数の機能が収められており、Javascriptの記述を簡便にできるとともに、ブラウザ間における解釈の違いを吸収することができる。オープンソースになっており、ダウンロードして使うこともできるし、それを保管しているWebサイトにリンクして使うこともできる(参照:「prototype」、「jQuery」)。Notation)は、Javascriptで構造体データを定義したり外部ファイルから読み込むための標準形式である。同様な目的にはXMLがあるが、JSONは記述がしやすく受信が軽快な特長がある。Crockford)により開発され公開された。2005年にYahoo!、2006年にGoogleがそれを用いたアプリケーションをサービスして注目された。2XMLHttpRequestは、他のファイルのアクセスを容易にしたが、セキュリティの観点から表示されているWebページと同一ドメインのサーバにあるファイルに限定されていた。Webアプリが高度化してくると、他のドメイン(他社サイト)へのアクセスが必要になってくる。2は、セキュリティ機能を強化して他ドメインと通信できるようにしたものである。2009年にW3Cがドラフトを発表、多くのブラウザがこの機能を搭載するようになった。2010年代:Javascriptの発展JavaScriptのJITコンパイラJavaScriptは、インタープリタ型言語、動的型付け、クラス・配列の概念などの特徴があり、実行速度が遅い代表的な言語である。ところが、Ajaxの普及によりJavascriptを利用したWebアプリが急増したが、Ajaxでは多様な内部処理をしているので時間がかかる。そのため、Javascript高速化が大きな問題になってきた。Compiler)の出現であった。その後、他のブラウザも追従し、現在ではほとんどのブラウザがJITコンパイラを搭載している。HTML5でのJavascriptWebアプリが増加するのに伴い、HTMLの互換性や機能拡大が求められ、2004年頃からHTMLの新バージョンであるHTML5の検討が始まった。HTML5の正式版は2014年頃になるとされているが、多くのブラウザがそれを先取りして実装している。HTML5はHTMLの仕様であるが、広義にとらえればCSSやJavascriptを含む新しいプラットフォームだともいえる。Javascriptにより実現できる機能のうち主なものを列挙する(実例:「Javascript」)・canvas:画像表示をするには、従来はgifなどの画像ファイルにしたりFlashを用いていた。それをJavascriptだけで簡単な画像を作成できるようになった。API:簡易データベースへのアクセス。これまではCGIでプログラムを呼び出す必要があった。晶「Ajaxはじめて物語、そしてサーバでも動くJavaScript」http://www.atmarkit.co.jp/fwcr/rensai/ajaxwatch30/ajaxwatch30_1.html。