BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース "JavaScriptを使わないシングルページアプリ"に対する非公式なHTML6提案が議論を引き起こした

"JavaScriptを使わないシングルページアプリ"に対する非公式なHTML6提案が議論を引き起こした

原文(投稿日:2015/03/25)へのリンク

非公式の"HTML6"提案は、W3.orgに共有された後、議論を引き起こした。

ファッションメディアスタートアップFuture Clawの創業者であるBobby Mozumder氏は、W3.orgメーリングリストにJavaScriptを使わないシングルページアプリのためのHTML6提案を提出した。

Mozumder氏は、"JavaScriptを読み込むことなく、高速なレスポンシブWeb体験"を目指しているという。

このような体験は、JavaScriptを使わずに可能だ。"JSON/XML(や新しく定義した)apiエンドポイントにリンクされたアンカーエレメントで、ブラウザーが新しいデータ構造にデータを内部に読み込み、ブラウザーは、必要に応じてそのデータDOMで置き換える"とMozumder氏はいう。

彼は詳細を説明した:

JSON APIを経由して動的にコンテンツを読み込むすべてのフロントエンドJavaScriptフレームワークには、標準のデザインパターンが存在します。これはシングルページアプリのWebデザインパターンです。完全なページを読み込むよりもはるかに応答性がよい - クリーンAPIによる読み込みが10-50msなのに対して、完全なHTMLページ読み込みは300-1500msです。

現在はこれが一般的ですが、HTML経由でユーザーがJavascriptなしで動的にシングルページアプリを実行できるように、ブラウザーの中に直接実装することができますか?HTMLボディは、すべてのコンテンツがJavaScriptを使わずに動的にリロードでき、配置できるため魅力的な言語になります。

Webページの例:
<DOCTYPE html>
<HTML LANG=“en”>
<HEAD>
<FIXTURES lang=“xml”>
	<model class=“MyArticleData”>
		<rsp stat=“ok">
			<article label=“one” id=“1">
				<headline>"Big News!”</headline>
				<body>"<p>This is the first article intro.</p><p>This is the second paragraph.</p>"</body>
			</article>
			<article label=“two” id=“2">
				<headline>"Not so big news"</headline>
				<body>"<p>This is the <em>second</em> article.</p>"</body>
			</article>
		</rsp>
	</model>
	<model class=“MyImageData”>
		<rsp stat=“ok">
			<image label="Square" width="75" height="75" source="https://mycontentserver.com/image_s.jpg" id=“3"/>
			<image label=“Tall" width=“300" height=“200" source="https://mycontentserver.com/image_l.jpg" id=“4"/>
		</rsp>
		<rsp stat=“loading">
			<image label="Square" width="75" height="75" source="https://mycontentserver.com/loading_image_s.jpg" id=“1"/>
		</rsp>
		<rsp stat=“some_error">
			<image label="Square" width="75" height="75" source="https://mycontentserver.com/error_image_s.jpg" id=“2"/>
			<message
		</rsp>
	</model>
</FIXTURES>
</HEAD>
<BODY>
	<MENU class=“controller”>
		<A href=“http://api.mywebsite.com/api/load-new-article” model=“MyArticleData">Click here to replace the articles with different articles.</A>
		<A href=“http://api.mywebsite.com/api/load-new-image” model=“MyImageData">Click here to replace the picture with a different picture.</A>
	</MENU>
	<MAIN class=“viewer”>
		<ARTICLE class=“center">
			<H1 model=“MyArticleData.rsp.article(label=‘one’).headline” />
			<SPAN model="MyArticleData.rsp.article(label=’one’).body” />
		</ARTICLE>
		<ARTICLE class=“sidebar">
			<H1 model=“MyArticleData.rsp.article(label=’two’).headline” />
			<SPAN model=“MyArticleData.rsp.article(label=’two’).body” />
		</ARTICLE>
		<IMG src=“model:MyImageData.rsp.image(label=‘Square’)#source” width=“model:MyImageData.rsp.image(label=‘Square’)#width” height=“model:MyImageData.rsp.image(label=’Square’)#height”>
	</MAIN>
</BODY>
</HTML>

一部の人たちは、Mozumder氏の提案に納得できない反応をした。

JavaScript pollyfillエンジンHitchJSの共同著者であるBrian Kardell氏は、"私たちは実際に一連のこれを試してみたが、それを使っていないということは、それはいくつかのレベルで成功しなかったということです。"と返信した。

Kardell氏は続けた:

私たちがそれを取る場合、なぜ失敗したかと、なぜ私がそれで多くの成功をすることができることは期待できないかという重要ないくつかの理由をコメントとして投稿するつもりです... それは離れてみる分には満足いくものに見えるかもしれませんが、標準化団体は歴史的にみてその問題はひどいです。

意見の相違にも関わらず、Mozumder氏の提案は"口コミで広がっている"ことに注目した。広く解釈したアイデアの裏付けとして共有されていたのは、"数百から数千のシェア、リツイート、投票などがあり、多くの人がこのようなソリューションを望んでいるようだ。なにが起こったのかはわからないが、多くの人たちがJavaScriptフレームワークを使うことに不満を持っていることを表していることを表していると考えている。"とMozumder氏は言った。

Mozumder氏の提案に対するオンラインの多くの議論は、ポジティブなものではなかった。

Hacker Newsでは、このアイデアに関連する議論に180以上の投票があったが、多くのコメントはこの提案に賛成するものではなかった。

ユーザーjkoudys氏は、"この提案は、一般的なデザインパターン、MVCの一部を公式な仕様の一部にしようとしています。HTMLはマークアップ言語であり、それをセマンティック言語でないものとして使用するのはとんでもないことです。"と言う

同様に、ユーザーoutsidetheparty氏は、" 非常にわるいアイデアがたくさんある-- 以前のバージョンのHTMLとの下位互換は、提案が通るとは考えられないことを考えるにあたって、常によいリトマス試験です。主な問題は、これが既存の問題を解決しないということです。彼の提案を有効にするには、これの柔軟性をなくすことです。"と言った

すべてのコメントが完全にMozumder氏の提案を否定するものではなく、 Milo Mordaunt氏は、アイディアは"面白い"といい、彼はHTMLを"厳密なテンプレートのために維持される"べきだと考えており、JavaScriptなしのシングルページアプリの提案は、不必要な量のロジックが加わる。

Mozumder氏のW3.orgメーリングリストに対する提案に関して、World Wide Web Consortiumから公式なコメントはなく、提案はコンソーシアムによって承認されていない。

この記事に星をつける

おすすめ度
スタイル

BT