JavaScriptの業界地図を読み解く:JavaScriptのイロハ
今回はJavaScriptの周辺環境について。「jQuery」の作者であるJohn Resigさんが「業界地図」を分かりやすくまとめた画像を公開していますので、これをベースにお話ししましょう。
JavaScriptをより深く知りたい人のための当連載、前回のイントロダクションに続き、今回が実質的な第一回目です。今回は、本格的にプログラミングテクニックの話に入る前に、JavaScriptの歴史や現状のお話をしてみたいと思います。
昔「何となく」でJavaScriptを書いていたころは、私もJavaScriptについての背景などあまり興味がありませんでした。しかし、当連載で今後扱うようなJavaScriptの高度な機能を知るにつけ「これって他のブラウザでも使えるのか?」などの疑問が生じ始めました。そこで詳しく調べていくと、ECMAScriptという標準規格があったり、ブラウザ以外でも動作する環境があったり、ということを知ったわけです。
JavaScriptはこれからも大きく発展する可能性のある技術です。そうした進化に追随していくためにも、まず現状をしっかり把握してみましょう。
JavaScriptの簡単な歴史
JavaScriptは、1995年にリリースされた、Netscape Navigator 2.0に初めて搭載された言語です。動的なWebページを簡単に作成できることから、非常に人気を博しました。その後Internet Explorerに搭載されるようになると、ブラウザ間でのJavaScriptの互換性が問題となりました。
そこでECMAインターナショナルと言う標準化団体により、JavaScriptの核となる言語仕様が標準化されるにいたりました。それがECMAScriptです。きちんと標準化した仕様が存在するようになったことで、ブラウザ間の互換性もある程度担保されるようになったのです。
ECMAScript自体の仕様は、1999年に標準化されたバージョン3 (ECMA-262)以来ほとんど変わっていません。このように、言語仕様自体が成熟して落ち着いていることも、現在のJavaScriptの隆盛に一役買っているといっていいでしょう。
ECMAScriptとJavaScript
JavaScriptという実装からECMAScriptへの標準化が行われたという経緯がありますので、両者には異なるバージョン番号が振られています。
現在のブラウザの多くが対応しているECMAScriptのバージョンは3で、JavaScript 1.5と呼ばれることも少なくありません。
ECMAScriptは現在バージョン4が仕様策定中で、後方互換性を保ちつつも非常に広範な機能強化が行われる予定です(あまりに強化が多すぎて、ブラウザがきちんと追随するかどうか不安なほどです)。Mozillaは、ECMAScript4に対応したJavaScriptのバージョンを「2.0」とする予定だとしています。
余談ですが、Flash Player上で動作するActionScriptという言語では、ECMAScript 4の仕様をいち早く取り入れて実装しています。クラスや継承、インターフェースなどの機能を試してみたい方は、一度ActionScriptを触ってみるとよいでしょう。
JavaScript (ECMAScript) の実行環境
これについては、JSフレームワーク「jQuery」の作者であるJohn Resigさんが、分かりやすくまとめた画像を公開しています。以下の画像を見てください(画像のライセンスはGPL v2)。
とはいえ、要素が多すぎて一見して全体像をつかむのは難しいですね。以下にポイントを説明しましょう。
- 特集: JavaScriptのイロハ (19件)
- ホワイトペーパー
- 企画特集
- 話題のタグ
SQLite対応アプリのデータベースファイルを閲覧する
グーグル、「Google Buzz」を発表--Gmailのソーシャル機能を強化
「H.264」ストリーミングのロイヤリティ無料期間が延長
マイクロソフト、「Office 2010」のRC版をリリース
アプリケーション仮想化 3つの課題
Xbox Live インディーズゲーム開発の軌跡
仮想化をダメにするストレージの実態
通販サイトのアクセス集中からの危機を救う
仮想環境のバックアップは難しいのか
DBのパフォーマンスに困ってませんか?
御社はまだフリーの転送サービスですか?
事例 VMwareでデータセンターをクラウド化
経営統合後の事業損益構造の見える化を実現
新しい視点のレンタルサーバが誕生!
利用者の理想を追求した最新レンタルサーバ
アンケートから見るセキュリティ対策の実態
レガシーアプリケーションの稼働どうしてる?
身近な業務をCRMが変革!