質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • JavaScript

    17471questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML5

    4286questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

htmlのAPIについて

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 230

1221_hima

score 12

MDNなどでHTML5のAPIについて調べていて疑問に思ったことです。

HTMLのAPの説明にに出てくる言語はjavascript  で書かれていると思うのですが、なぜこれらを"HTML"のAPIと呼ぶのでしょうか

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mts10806

    2018/07/19 09:32

    何が聞きたいのかいまひとつ分かりませんが、該当の記事を提示されては?今現在のご自身の理解度はどうなのでしょうか。 https://teratail.com/help/question-tips#questionTips2-1 >今置かれている状況を整理し、わかっている範囲とわからない範囲を明確にしましょう

    キャンセル

回答 3

+3

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フォントも含む

Wikipedia参照

単にHTML文書としてのHTML5という言葉の使い方の他にその他諸々も含めてHTML5という言い方をするってことじゃないでしょうか?

APIというのは、ひらたーく言うと
「こう書いてくれたら、こういう結果を返すよ」っていう取り決めのようなものなので
結果を返す側のプログラムは、言ってしまえば何でもいいということでしょうか。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

+1

 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 13:08

    回答ありがとうございます

    http://www.htmq.com/api/
    このページでは"HTML5のAPI"と書かれています

    https://developer.mozilla.org/ja/docs/Web/Guide/DOM/Manipulating_the_browser_history
    このページに"HTML5 では history.pushState() および history.replaceState() メソッドが導入され..."という記述があり、history.pushState() = HTMLのメソッド のような印象を受けてしまっているのが現状です。

    キャンセル

  • 2018/07/20 20:08

    親記事に追記しました。
    回答だけで満足せず、自分の目で仕様書を確かめる事をお勧めします。

    キャンセル

+1

ん〜、なるほど…では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 11:08

    回答ありがとうございます。

    ではここでいうHTML5というのは
    タグを使用して記述する言語レベルのHTMLの話とはまた別の意味を持つ、という認識でよろしいでしょうか

    キャンセル

  • 2018/07/19 11:25

    そうですね、違います。

    HTMLというのは<タグ名></タグ名>で仕切ろうというツリー表記の文書を指します。
    ところが1990年台後半、IEとネスケというブラウザが俺のHTMLは文字が点滅するんだぜ!みたいな独自形式をバンバン繰り出してライバルのブラウザに対して優位に立とうとしていた時代がありました。
    エンジニア達は「じゃあ俺らはWebサイト公開する時になんて書けばいいんだ?」と心底困ってしまいました。

    そこでW3Cという団体が出来上がり、HTMLの厳格な仕様書を作り始めました。
    これに従わないブラウザ作ってもいいよ、でもエンジニアさん達は困ってるからコレ用のHTML書いてもらう事にするから、ブラウザの人気なくなっても知らないよ?
    …こんな感じのスタンスですね。
    マイクロソフトは下位互換を意識する会社なので、中々IEをW3Cの提唱した仕様に準拠する事は難しかったのですが、他のブラウザはほぼ全てがこのW3Cの作った仕様に準拠しています。

    HTML5というのはW3Cが提唱するHTML仕様のバージョン5です。
    JavaScriptが新たに扱えるAudioなんかはHTMLかなぁ…というとちょっと違う気もしますが、audioタグも増設されましたし純粋なHTMLも含みつつ、JSが扱えるAPIも含みつつといった感じですね。

    キャンセル

同じタグがついた質問を見る

  • JavaScript

    17471questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML5

    4286questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。