JavaScript ~ チュートリアル、サンプル、ビデオセミナーなどのまとめ

2009年2月26日

JavaScriptは主にWebブラウザ上で動作するプログラミング言語です。HTMLを書き換えてWebページの表示を動的に変更するといった機能のほか、条件分岐、ループ、演算といった通常のプログラミング言語が備えている機能をひととおり備えています。

特に、バックグラウンドでサーバと通信を行うなどの方法で、ユーザーに使いやすい対話型のユーザーインターフェイスなどを実現する「Ajax」と呼ばれる実装が登場したことにより、Webアプリケーションを構築するプログラミング言語として、大きく注目されることとなりました。

主なWebサイト

Welcome to Ecma International

JavaScriptの中核的な仕様は、標準化団体ECMA InternationalによるECMAScript仕様で規定されています。このECMAScript仕様を参照して、各ベンダごとにJavaScriptの実装が行われています。

WebブラウザのFirefoxを開発しているMozillaが、JavaScriptを詳しく解説しています。

ベンダ以外では、コミュニティによる以下の情報サイトもあります。

チュートリアル、サンプル

ネット上にはJavaScriptに関する豊富な解説記事があります。下記が内容も新しく、充実しているでしょう。

JavaScript - Wikibooks

DOM操作にフォーカスした連載と、セキュリティにフォーカスした記事もそれぞれ紹介します。

DOMから始めるJavaScriptモダン・スクリプティング---目次 - DOMから始めるJavaScriptモダン・スクリプティ...:ITpro

それ以外にも下記の解説記事が参考になります。

JavaScriptの命令や関数のリファレンス。

とほほのJavaScriptリファレンス

サンプルを基にJavaScriptを学習したり、コピー&ペーストですぐに利用できるサンプルを提供しているWebサイトも数多くあります。主なものを紹介します。

JavaScriptはおもちゃのような簡易言語だと長い間誤解されてきました。下記の文書はその経緯と理由について解説し、話題になりました。著者は、下記のビデオセミナーにも登場している、米Yahoo!のJavaScriptアーキテクト、Douglas Crockford氏。氏はJSONの提唱者としても知られるJavaScriptの有名人の一人です。

ビデオセミナー

米Yahoo!のJavaScriptアーキテクト、Douglas Crockford氏がJavaScriptの歴史、構文、命令、関数、データ型などを詳細に解説するビデオセミナー。

The JavaScript Programming Language The JavaScript Programming Language - Slideshare
The JavaScript Programming Languageのスライド(英語)

Douglas Crockford氏による、継承やコンストラクタといったオブジェクト指向の解説を中心としたJavaScriptの高度な内容についてのビデオセミナー。

Advanced Javascript Advanced Javascript - Slideshare
Advanced JavaScriptのスライド(英語)

Douglas Crockford氏による、WebブラウザとJavaScriptの関係から始まり、DOMのテクノロジを中心に解説したビデオセミナー。

主要ベンダのJavaScript実装

JavaScriptの中核的な仕様は、標準化団体ECMA InternationalによるECMAScript仕様で規定されています。

このECMAScriptを参照して、各WebブラウザベンダがJavaScriptを実装しています。以下は、各社のJavaScriptのECMAScriptとの互換性情報、あるいはJavaScriptマニュアルです。

開発環境

JavaScriptのプログラミングに役立つツールやサービスを紹介しましょう。WebブラウザのFirefox、Opera、Safariには、標準でJavaScript開発支援の機能が内蔵されています。

プラグインや追加機能を使うことで、さらに強力なデバッグ環境を構築できます。よく利用されているのはFirefox用のプラグインFirebugです。

Firebug

複数のWebブラウザに対応するツール。

Webアプリケーションとして、Webブラウザ上で動作する開発環境もあります。

補完機能を備えたエディタや充実したデバッグ機能を備える統合開発環境。これらのツールの多くでは、HTMLオーサリング機能やAjaxライブラリなどへの対応や、PHPやPerl、Javaといったサーバまわりの開発言語への対応なども実現しています。

主なフレームワーク、ライブラリ

JavaScriptのフレームワークやライブラリを利用することで、通信やユーザーインターフェイスなどの高度な機能をすぐに利用することができるようになります。ここでは主なものを紹介しましょう。

コミュニティ

オープンに活動しているJavaScritコミュニティは2つほど見つけることができました。

話題

2009年2月時点で、Webブラウザの多くはECMAScript 3をベースにしたJavaScript1.5もしくはそれ以降のバージョンを搭載しています。そして次バージョンのJavaScript 2.0は、ECMAScript 4をベースにする予定でした。

しかし2008年8月に、JavaScript 2.0はECMAScript 4ではなく、ECMAScript 3.1をベースにECMAScript 4の機能をいくつか取り入れることになる、という方針変更が行われました。そして、この新しい取り組みは「ECMAScript Harmony」というプロジェクト名で呼ぶことになりました。

また、アドビシステムズ社は、同社のFlashでECMAScript 4をベースにしたActionScriptを実装しており、JavaScript 2.0がECMAScript 3.1ベースになったことでJavaScriptとActionScriptの互換性についての動向を気にする発言があります。

JavaScriptおすすめ書籍

初めてのJavaScript 初めてのJavaScript
JavaScript入門書。言語の基本構文はもちろん、無名関数、クロージャ、イベントなどJavaScriptの特徴をほぼ網羅してコンパクトに説明している。多少プログラミング経験がある人に(目次
JavaScript&DHTMLクックブック JavaScript&DHTMLクックブック
URLのエンコード、日付の計算、フォームの動作、視覚効果、動的コンテンツなど、Webアプリケーションでよくある課題をJavaScriptでどう解決するのか、参考になるプログラミングテクニックが満載(目次
JavaScript JavaScript
JavaScriptの命令、文法、メソッド、実行時の動作と注意点などを文章を中心に徹底的に詳しく解説した一冊。本格的なJavaScriptプログラマを目指すなら必携(目次
JavaScriptプログラミング入門 JavaScriptプログラミング入門
JavaScriptの入門書として、分かりやすい解説とその場で試せる豊富なサンプルで、プログラミングを始めて学ぶ人に。基本的な命令や関数のリファレンスも要所に掲載されており、長く役に立つ作りになっている(目次
JavaScriptマスターブック JavaScriptマスターブック
入門書の次を探している人に。オブジェクトや関数、配列のより高度な使い方、DOMプログラミングなど、JavaScriptの能力をより引き出すための技術を解説(目次
DOM Scripting 標準ガイドブック DOM Scripting 標準ガイドブック
Webデザイナーを対象に、イメージギャラリやアニメーションのサンプルなどを通してDOMによるダイナミックなWebページや視覚効果の方法を実践的に解説する(目次
DOM Scripting DOM Scripting
DOMの操作によって行えるドキュメント操作、CSSの操作のさまざまなサンプルを集めて解説。イベントやXMLの処理も含みリファレンス的な要素も備えたプログラマ向けの実用的な一冊(目次
Javascript ビジュアル・リファレンス Javascript ビジュアル・リファレンス
JavaScriptプログラミングのリファレンスとして。命令や関数ごとにサンプルリストとカラーの結果画面で分かりやすく見やすい構成(目次

JavaScriptに関するビデオ

Gopal Venkatesan: "Writing Efficient JavaScript" Gopal Venkatesan: "Writing Efficient JavaScript" - Yahoo! Video
プログラミングの場面ごとに、どのようなJavaScriptを書くのが効果的かを解説(英語)
Nicholas Zakas: "Maintainable JavaScript" Nicholas Zakas: "Maintainable JavaScript" - Yahoo! Video
保守しやすいコードとはどういうものか、JavaScriptによる実践方法(英語)
V8: an open source JavaScript engine V8: an open source JavaScript engine - YouTube
GoogleのWebブラウザ「Chrome」に搭載されたJavaScriptエンジンV8の実装について(英語)
Google I/O 2008 - Server-side JavaScript on the Java VM Google I/O 2008 - Server-side JavaScript on the Java VM - YouTube
Java VM上に実装されたJavaScriptであるMozilla Rhinoを中心に、サーバサイドのJavaScriptについて解説(英語)
出張 Shibuya.js 24 CM 出張 Shibuya.js 24 CM - YouTube
2007年9月に行われたMozilla24イベントで行われた「Shibuya.JS」による出張テクニカルトーク「出張 Shibuya.js 24」のCM
Shibuya.js 24 Lightning Talks #2 Shibuya.js 24 Lightning Talks #2 - YouTube
今回はCSS Niteリスペクトで、まぁ、前に1回だけ見に行ってDreamweaverの使い方とか印象に残ったので、それのver.ふぉとしょです
Shibuya.js 24 Lightning Talks #6 Shibuya.js 24 Lightning Talks #6 - YouTube
JavaScript.GIF、異言語融合
Shibuya.js 24 Lightning Talks #7 Shibuya.js 24 Lightning Talks #7 - YouTube
JavaScriptでBoom Filterを作ってみた

スライド

JavaScript勉強会 JavaScript勉強会 - Slideshare
某社の社内向け勉強会資料。オブジェクト、高等関数、プロトタイプなどプログラマ向けの内容
Efficient JavaScript Development Efficient JavaScript Development - Slideshare
JavaScript開発を効率よく行うためのエディタ、デバッガ、プログラミングテクニックなどの実践的な紹介(英語)

このエントリーをはてなブックマークに追加 Bookmark this on Delicious     fig Follow Me  fig RSS

タグ : JavaScript , スクリプト言語

次の記事
Thunderbird 3.0 β1 レビュー ~ オープンソースの定番メーラがタブを搭載して新登場
前の記事
Yahoo! Pipes β レビュー ~ HTML、RSSなどのデータをマッシュアップするビジュアルプログラミング環境

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed





アクセスランキング - 過去7日間

  1. 特許庁の基幹システム失敗の背景にある、日本に…
  2. 国内の開発者が使っている言語、1位C、2位V…
  3. 特許庁の基幹システムはなぜ失敗したのか。元内…
  4. 英国政府、新ポータルGov.ukをクラウド、…
  5. なぜ米ヒューレット・パッカードは、一挙に16…
  6. OpenFlowベンチャーのNicira N…
  7. ライアン・ダール氏、Node.jsの開発リー…
  8. フラッシュストレージが最大500TB! 米N…
  9. EMC、満を持してPCIe接続フラッシュスト…
  10. 2012年1月の人気記事「グーグルのバグ予測…
  11. マイクロソフトの責任者が語る「われわれはどの…
  12. 「絶対落ちないシステムを作れ」という要件に、…
  13. ソフトウェアテストの30年前と30年後(前編…
  14. ソフトウェアテストの近未来を話そう(前編)~…
  15. ソフトウェアテストの近未来を話そう(後編)~…

最新記事 10本

バックナンバー



アルファブロガー・アワード2010受賞 Publickeyはアルファブロガー・アワード 2010を受賞しました! いつもご愛読ありがとうございます。









blog comments powered by Disqus