MDNなどでHTML5のAPIについて調べていて疑問に思ったことです。
HTMLのAPの説明にに出てくる言語はjavascript で書かれていると思うのですが、なぜこれらを"HTML"のAPIと呼ぶのでしょうか
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
W3CのHTML5 Logoでは以下のカテゴリをHTML5に含めている[9]。
セマンティックス - HTML5の新タグ、RDFa、マイクロデータ、マイクロフォーマット
オフラインとストレージ - App Cache、Web Storage、Indexed Database API、File API
デバイスアクセス - Geolocation API、マイク・カメラ、アドレス帳・カレンダー、端末の向き
接続性 - WebSocket、Server-Sent Events
マルチメディア - audio要素, video要素
3D、グラフィックス、エフェクト - SVG、canvas要素、WebGL、CSS3 3D
パフォーマンスと統合 - Web Workers、XMLHttpRequest Level 2
CSS3 - Webフォントも含む
単にHTML文書としてのHTML5という言葉の使い方の他にその他諸々も含めてHTML5という言い方をするってことじゃないでしょうか?
APIというのは、ひらたーく言うと
「こう書いてくれたら、こういう結果を返すよ」っていう取り決めのようなものなので
結果を返す側のプログラムは、言ってしまえば何でもいいということでしょうか。
投稿2018/07/19 00:35
編集2018/07/19 00:43総合スコア657
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
JavaScript
HTMLのAPの説明にに出てくる言語はjavascript で書かれていると思うのですが、
説明の都合上、JavaScriptを持ち出すことが多いとは思いますが、APIはインターフェースの一種ですから、言語を限定していないと思いますよ。
DOM APIはJavaScript以外にも実装があります。
HTMLの為のAPI
なぜこれらを"HTML"のAPIと呼ぶのでしょうか
HTMLのAPIとは書かれていない(HTMLの為のAPIならあります)と認識していますが、情報源はどこですか。その情報は信頼に足るものですか。
HTML5 API
https://developer.mozilla.org/ja/docs/Web/Guide/DOM/Manipulating_the_browser_history
このページに"HTML5 では history.pushState() および history.replaceState() メソッドが導入され..."という記述があり、history.pushState() = HTMLのメソッド のような印象を受けてしまっているのが現状です。
あなたは一次情報に解を求めるべきだと思います。
「HTML5のメソッドのように読めてしまうけど、ただのマークアップ言語にAPIとしての機能があるのはしっくりしない」が発端ですよね?
ならば、MDNよりも確度の高い情報源をあたるべきでしょう。
HTML5はWHATWG主導のHTML Living StandardとW3C規定のHTML5がありますが、現在ではWHATWG主体です。
- HTML Living Standard … WHATWG管轄。バージョン番号がない。
- HTML5 … W3C管轄。HTML5, HTML5.1, HTML5.2のように、バージョン番号がある。
「HTML5」と書いたなら、「HTML5(W3C規定でHTML5.1でもHTML5.2でもない)」が正しいですが、その境界を意識している人は少ないので文脈から判断したり、全てのパターンを想定して読みます。
(「W3C HTML5」と書いてくれれば、間違いないですが…。)
https://momdo.github.io/html/introduction.html
上記リンク先を熟読して下さい。
特に後者の要件は、以前にHTML4、XHTML1、DOM2 HTMLという3つの異なる文書で規定されたものを含むようHTML5仕様の範囲として要求した。
DOM Level 2 HTMLの仕様を統合しました。
既存のHTMLParagraphElement を含み、新しい HTMLAudioElement も網羅しています。
audio要素関連のAPIを総称して、Web Audio APIと呼びます。
https://webaudio.github.io/web-audio-api/
HTMLA Standardで定義されたAPIは総量が多くなると、別の仕様として分化していく傾向があります。
有名どころでは、innerHTMLがHTML Standardに含まれていましたが、別の仕様に引き継がれました。
文中に「HTML5 API」と書かれていた場合、「HTML5もしくはHTML Standard仕様で定義されるAPI」という意味になります。
しかし、先のように仕様の場所が変わると、厳密にはHTML5 APIとは呼べなくなり、諸々の事情で「HTML5(HTML Standard)とHTML5に関係している仕様で定義されているAPI」の意味になることがあります。
が、どの仕様がHTML5関連仕様が定義されているわけでもなく、括りが曖昧です。
HTML、HTMLのDOM APIのサポート、およびHTMLのサポートする技術の多くは、多くの場合、互いの存在を知らない、異なる優先順位をもつ多数の人々により数十年にわたって開発されてきた。
HTML5 APIよりも、DOM APIの方が狭義で名は体を表している感はあります。
広義な用語は解釈の幅も広いので、厳密性を求めるなら、使用しないのが無難です。
Re: 1221_hima さん
投稿2018/07/19 03:55
編集2018/07/20 11:07総合スコア18156
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/19 04:08
2018/07/20 11:08
0
ん〜、なるほど…ではHTML5・ブラウザ・JavaScriptの関係を紹介します。
ここを押さえておけば理解が進むかと思います。
HTML5はW3Cという規約作る団体が、
「Chromeの開発元Googleにこういう仕様のブラウザを作ってくださいね」という勧告です。
なぜこれらを"HTML"のAPIと呼ぶのでしょうか
HTML5でこう作りなさいと定義しているだけで、
実態はGoogleが作ったChrome内のC++等で用意したAPIで、
JavaScriptはそのC++等で用意したAPIを呼び出して利用させてもらう立場です。
javascript で書かれていると思うのですが
HTML5で仕様が決められているAPIは基本的にJavaScriptが使う事を想定していますが、
JavaScriptで作られたAPIとは限りません。
投稿2018/07/19 02:02
総合スコア21158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/19 02:08
2018/07/19 02:25
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。