※回答文で指摘されているように、私は「仕様」という言葉の意味を履き違え文章を記していたようです。。恥ずかしい。。;;
経緯
ウェブフロントの関する記事を読んでいると分からない単語がいくつも出てきます。
最近分からなかったのは「DOMはAPI」であるという文脈です。
私の中でのAPIの解釈は、外部のプログラムを簡単に使えるようにしたもの、またはそのプログラムを使わせてもらう為の窓口という解釈でした。
DOMとはjsファイルから容易にHTMLファイルを弄れるやつくらいの解釈です。
なので「DOMがAPI」という文脈を読んだ時の私の頭の中は
「APIって外部のプログラムの簡単に使えるあれでしょ、DOMってjavascriptという言語の仕様の一部なんじゃないの。何でDOMがAPIなの?」
という感じでした。
調べてみたこと考えてみたこと
ということで疑問だったので調べてみることにしました。参考にしたのが以下の記事です。
記事の内容は難しく全ての内容は分かりませんでしたが、何となくの意味は分かったような気がします。
私が知っていたAPIの意味は狭義の意味で、いわゆる「webAPI」や「サードパーティAPI」。
しかし、APIにはいくつか種類があり、ブラウザAPIと呼ばれるものもあるんですね。
前述のとおりAPIは各種システム/サービスがそのシステム/サービスを利用するアプリケーションに対して公開するインタフェースである。APIの重要な役割は、システム/サービス提供者が公式に仕様(外部仕様)を定義し管理している各種機能を利用するための操作方法(インタフェース)を提供することである。
上記はAPI wiki からの引用文です。この引用文にはAPIは外部の仕様を指すという旨が書かれています。
ブラウザAPIというものがあるのは理解したけれど、でも何でAPIという呼ぶのは依然よく分かりません。
前述した通りAPIは外部の仕様、もしくはそのインターフェースを指し、DOMはjavascriptの仕様の一部だと思っているからです。
そんな訳で、そもそもDOMとはjavascriptの仕様ではないのかもしれない。そもそもjavascriptって何だ?というところに疑問が深まっていきました。
そんな時に以下のサイトを思い出しまsi
た。javascriptに関する説明を記載したウェブサイトです。
画像はリンク先のサイトのスクリーンショットです。ECMAscriptという仕様に色々なものが肉付けされ、それがjavascriptだという旨が書かれています。
質問
ECMAScriptという仕様に、DOMやwebglなどの色々な仕様をあわせたのがjavascript。ECMAscriptという仕様から考えると、DOMやwebglは外部の仕様なので、APIという枠組みに入る。
自分なりに考えてみた結果、こんな感じの解釈になったのですが、はたしてこの解釈は当たっているのでしょうか?教えて欲しいです。
※正直こんな言葉の意味について深く知る必要は全くないのですが、疑問を深堀りしていったら凄く気になってしまって質問を投稿しました。
追記
言葉を意味を間違え文章を書いていたため、改めて質問文を書きます。
APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約のこと。
APIとは外部のプログラムを使う為の手順や規約だという旨が書かれています。
※文脈によっては手順や規約ではなく、外部のプログラム自体をAPIと呼んだりするみたい?
そしてDOMはAPIです。
webAPIを使う時はAPIシークレットとAPIキーが必要でした。しかしDOMを用いてHTML操作をする時、特別な手順などを特にに意識することなくHTML操作が出来ました。なのでDOMはJavascriptという言語の中の一つの仕組みだと思っていました。
しかしAPIということは外部のプログラムもしくはその手順。ということはDOMはjavascriptの中の一つの仕組みではないのかな。
もしかするとECMAscriptという標準から考えると、DOMは外部のプログラムということになるから、DOMはAPIという括りに入るのかな?
という感じです。表現がつたなく言葉がくだけてしまいましたが、こんな感じです;;
回答3件
あなたの回答
tips
プレビュー