(ちょっとメモ)API って何だ?(HTML5 の API について)
最終更新日:2019年02月06日 (初回投稿日:2015年07月10日)HTML5について調べていると、よく API というコトバを目にします。
「APIとは」でググると、いろいろ出てきます。(画像は2015年7月時点)
HTML5を勉強し始めた頃は、API の解説を読んでもピンとこなかったのですが、この「ほんっとに...」で、今まで実験してきた中にも、HTML5のAPI を利用したモノがあったんです。今さらビックリ。
例えば、<canvas>要素で「<canvas>のために、あらかじめ用意されているjavaScriptのメソッド」なんて呼んでたヤツが「Canvas API」と言われるモノなんだって。
fillRect() とかね。fillRect() を使えばブラウザはちゃ〜んと四角を描いてくれる。それが API 。
知らない間に使っていたのね API。すごいぞ API !
というわけで、今回は API について調べてみました。
いろんなAPIへのリンク集です。
で、結局 API って何なの?
すごく簡単に言えば「みんなで共有できる仕様(ソースコード)」だと思って良いのではないかな。簡単すぎるけど。
API は「Application Programming Interface」の略。
直訳すると「アプリケーションをプログラムする時のインターフェイス」といったかんじ。
Interface(インターフェイス)は、ハードウェアでの意味なら、キーボードやマウス、音声入力のマイク、ディスプレイに表示されるボタンなどのことですが、
ソフトウェアでの意味 ならデータをやり取りするために決められた規格や仕様を言うのだそうです。
エンジニアが、何でも一(いち)からソースを書いたら、時間やコストが膨大ですよね。しかもそのエンジニアしか編集できない。ユーザも、各サービスによって操作がぜんぜん違うと戸惑います。
ですが、あらかじめ決められたソースがあってそれを共有できれば、
時短だし省コスト。しかもエンジニアじゃない人でも比較的手軽に使える。ユーザも統一された使い方でわかりやすい。
これがAPI の利点ではないでしょうか。
へ〜、こんなにあるんだ! 企業が提供している いろんなAPI
で、じゃあ具体的な API って、どんなものがあるんだろう?
と調べてみたら、あるある、い〜っぱいある。企業などが開発したAPIがこんなに提供されていたんですね(しかも、ほとんど無償です) 知らんかった!
なかでも興味を持ったものをご紹介します。(以下は2015年7月時点の情報です)
- 図書館 API
- 図書館検索サイト「カーリル」が提供するAPI。
サイト上で図書館に蔵書があるかなどを検索させたいときに。 - Amazon Product Advertising API
- アマゾンの商品広告をサイトに表示するためのAPI。アフィリ用ですね。
- Hatena Developer Center
- 「はてなブックマーク」などの、はてなが持つ情報・機能を利用できる API がたくさん。
- Google Maps API
- Google Mapの位置情報や地図アプリの作成などを提供してくれています。
- YouTube API
- YouTubeの動画や機能を自分のサイトに組み込むことが可能。wordpress用のプラグインも出てるんだって。
- Yahoo!デベロッパーネットワーク
- Yahoo! が提供しているいろいろなAPI を使えます。
- Twitter API
- ツイートの参照や検索などの機能をサイトで使えるようにできるんだそうな。
使い方はWebNAUTさんの「TwitterAPIを使ってつぶやきデータを取得してみた。」を。 - お天気Webサービス
- 「Livedoor天気情報」が提供しているAPI。お天気情報が取得できます。
- 楽天 WEB SERVICE
- 楽天市場、楽天ブックス、楽天トラベルなど、楽天グループのたくさんあるサービスの、データや機能を使えるAPI がいっぱい。
- docomo Developer support
- ドコモが提供する、画像認識、発話理解、音声合成などのAPIが利用できます。
こんなサイトもみつけた。「日本で公開されている API 一覧(2013年版)」
2013年のモノですが、ご参考までに載せておきます。
HTML5 で提供されている API
HTML5のAPI は、javaScript を使うものがほとんどだそうです。
それをHTML5の要素や属性と一緒に使うことで、
・今までデスクトップアプリケーションじゃなければ不可能だったことや、
・高度な技術を持つエンジニアじゃないと無理だったことが、
比較的簡単にブラウザ上で表現 できるようになったんだって。画期的ですよね。
確かに、canvasだけを見ても、非エンジニアでも何とか使えます。これもAPIが恩恵ですね。
今までの「ほんっとに...」の記事で、HTML5のAPI を使っているもの
けっこうあったのでビックリです。
- <video>要素
- <audio>要素(Web Audio API)
- Web VTT ...video要素で「字幕」をつける
- <canvas>要素(Canvas API)
- contenteditable属性 ...編集可能領域を作る
- draggable属性(Drag and Drop API) ...ドラッグ&ドロップできちゃう領域にする
そのほかの HTML5 の API(抜粋)
リンク先は、いろいろ見た中で参考になりそうな「解説サイト」です。
- Web Storage
- データ(ログイン情報、入力情報、ECサイトのカート情報など)を、cookieに替わって、ユーザーのPCに保存するモノだそうです。容量も大きく、有効期限も無く、セキュリティもcookieより高いんだって。
- File API
- ユーザのローカルファイルとやり取りするためのAPI。
ユーザがブラウザ上で、自分のPC内のファイルを見たり編集したり、アップロードする画像のプレビューを作ったりできるそうな。送られる側も、アップロード時にファイルのタイプを識別したり、ファイルサイズを制限したりすることもできるんだって。
<input type="file"> で使うんでしょうな。 - Geolocation API
- GPSなどの位置情報を扱えるAPI。全デバイスで位置情報を取得できるって。
GPSが搭載されていない普通のPCでも、WiFi や IPアドレスなどから位置情報を取得するんだそうです。 - Web Speech API
- 音声認識とテキストスピーチのためのAPI。 ユーザーがしゃべった内容を文字にしたり、入力した文字列をPCが発音してくれるモノだそうです。
- 関連記事
-
- [72] デバイスに合わせた画像を表示できる picture要素
- [71] img要素の srcset属性で画像を切り替えよう
- [70-5] 複数のSVGを1つにまとめて個別に呼び出す SVGスプライト
- [70-4] JavaScriptライブラリで作るSVGモーフィングアニメーション
- [70-3] CSSだけで作る SVGのドローイングアニメーション
- [70-2] SVGフィルターを使ってみた
- [70-1] svg要素でベクターグラフィクスを埋め込もう
- (ちょっとメモ)API って何だ?(HTML5 の API について)
- (ちょっとメモ)CanvasサイズをCSS3のvw, vhで取得してみたけど...
- [69-14] Canvasのアニメーションの基本を見てみよう
- (ちょっとメモ)Canvasでグラフを自動生成する「flotr2」が便利
- [69-13] Canvasで画像データをURLとして取得しよう
- (ちょっとメモ)Canvasで画像をランダムに描くサイト背景をWordPressで使ってみた
- [69-12] Canvasをサイトの背景に使おう
- [69-11] Canvasでビットマップを操作しよう(ビットマップの明度や色調の変更)
初心者にも使いやすい(と思う)レンタルサーバー
「初心者ですがレンタルサーバーはどこがいい?」というご質問をよくいただきます。
自由にファイルをアップロードできる自分のサーバがあると便利ですよね。ローカル環境じゃなくサーバ上で試してみたい時がありますからね。
私が使っているのは、
スターサーバーや ロリポップ!
です。どちらも管理画面がわかりやすく、マニュアルも充実していて、料金も安い。どちらもライトプラン以上で WordPress が使えます。
初心者が始めやすいサーバだと思います。
ちょっと料金は高いけど、さくらのレンタルサーバや、エックスサーバー
は、やはり老舗なのでおすすめです。
両方とも高スペックでコスパが良く、老舗でユーザーが多いので、質問する場がたくさんあります。初心者だけど仕事でサーバが欲しい場合は、安心なのではないかと思います。
スポンサーリンク