ジャンプ先:

ウェブサイトやアプリケーション用にクライアント側のJavaScriptを書いていると、すぐにアプリケーションプログラミングインターフェース(Apprication Programming Interfaces、API)にでくわします。APIとはブラウザーやサイトが動作しているOSの様々な面を操作したり、他のウェブサイト、サービスから取得したデータを操作するためのプログラムされた機能です。このモジュールではAPIとは何か、開発作業の中でしばしば見掛ける最もよく利用されるAPIのいくつかについて、どのように使うかを説明していきます。

前提条件

このモジュールをよく理解するためには、ここまでの一連のJavaScriptに関するモジュール(First steps, Building blocksJavaScript objects)の学習をすませているべきです。これらのモジュールでは大抵簡単なAPIを使っていますが、その助けなしにはクライアント側のJavaScriptを書き上げるのは難しいからです。 このチュートリアルの中では、あなたがJavaScript言語のコア部分については十分理解しているものとして、よく使われるWebAPIについてもう少しばかり詳しく探っていきます。

HTMLCSS に関する基礎知識も役に立つでしょう。

注記: もしあなたが自分のファイルを作成できないようなデバイス上で作業しているなら、大半のコード例をJSBinThimbleのようなオンラインプログラム作成・実行環境で試してみることもできます。

ガイド

ウェブAPIの紹介
まずはAPIを高い視点から見ていきます — これは何なのか、どう働くのか、あなたのコードでどう使うのか、どういう風に作られているのか? また様々なクラスのAPIが何なのか、どんな使い方があるのかも見ていきます。
文章の操作
ウェブページやアプリを書く場合に、最も多く必要になるのはウェブ文書をどうかして操作する事でしょう。これは普通ドキュメントオブジェクトモデル(Document Object Model、DOM)、これはHTMLとスタイルに関する情報をDocumentオブジェクトを使いまくって操作するための一連のAPIです、を用いて行ないます。この記事では、DOMの使い方を詳しく見ながら、面白い方法であなたの環境を変える事ができる興味深い他のAPIもいくつか見ていきます。
サーバからのデータ取得
また別に、モダンなウェブサイトやアプリケーションでしょっちゅう必要になるのは、サーバから個々のデータを取ってきて、新しいページ全体を読んでくることなしに、ページの一部を書き換える事です。この一見ちょっとした事が、サイトのパフォーマンスや振舞いに巨大なインパクトを与えました。この記事ではそのコンセプトを解説し、これを可能にした技術XMLHttpRequestFetch APIについて見ていきます。
サードパーティAPI
これまでに説明したAPIはブラウザに組込まれていますが、全てのAPIが組込まれているのではありません。グーグルマップやTwitter、Facebook、ペイパルなど、多くの巨大なウェブサイトやサービスが、開発者に対して彼らのデータを利用したり(例:あなたのブログにtwitterのタイムラインを表示させる)、サービスを利用したり(例:あなたのサイトに独自のグーグルマップを表示したり、あなたのサービス利用者にFacebookでログインできたり)するためのAPIを提供しています。この記事ではブラウザーAPIとサードパーティAPIの違いを見ていき、典型的な後者の使い方をお見せします。
絵を描く
ブラウザにはグラフィックを描くためのとても強力なツールがいくつか組込まれています。SVG(Scalable Vector Graphics)言語から、HTMLの<canvas>キャンバス要素に描画するためのAPIまで (キャンバスAPIWebGLを参照)。 この記事ではキャンバスAPIへの導入を説明し、もっと深く学習していくためのリソースをご紹介します。
動画と音声のAPI
HTML5には文書にリッチなメディアを埋め込むための要素が備わっています — <video><audio> — それぞれに再生やシークなどの操作するための独自APIを備えています。この記事では独自の再生操作パネルを作成するような、よくある仕事をどうやればいいのかお見せします。
クライアント側でのデータ保存
モダンなブラウザには、ウェブサイトに関するデータを保存し必要なときに取り出すための様々に異なる技術が実装されており、これを使ってデータを長期間保存したり、サイトをオフラインに保存したりなどなどができます。この記事ではこれらがいかに動作するのか、その基本の基本について説明します。

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, i12o
最終更新者: mfuji09,