BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース プログレッシブエンハンスメントについての議論

プログレッシブエンハンスメントについての議論

ブックマーク

原文(投稿日:2013/09/11)へのリンク

ember.jsの作者のひとりであるTom Dale氏が、プログレッシブエンハンスメントの必要性に関する議論を蒸し返すような記事を書いている。

数日前、Daniel MallがSigh, JavaScriptというtumblrのサイトを立ち上げました。[...] このサイトの目的は社会規範を逸脱した人たちを世間に晒すことです。つまり、JavaScriptを無効にしたら動かなくなるウェブサイトを集めて公開することです。

でも、私にとってはこれは悪い知らせです。というのもプログレッシブエンハンスメントは死んだのです。少なくとも大多数のウェブ開発者にとっては死んでいます。

"数年前、ブラウザの世界で何かが起きました。何が起きたか知っていますか。私は知りません。"と氏は書く。"ブラウザはドキュメントをインタラクティブに閲覧する素晴らしいビューワから世界で最も先進的で普及しているアプリケーション実行環境になったのです"。では、プログレッシブエンハンスメントとは何か。Wikipediaによれば、

プログレッシブエンハンスメントとはウェブデザインの戦略であり、アクセシビリティや、セマンティックなHTMLマークアップ、外部スタイルシートやスクリプティング技術を強調する。プログレッシブエンハンスメントはウェブ技術を層状にして活用することで、どのようなブラウザでも、どのようにインターネットに接続していても、基本的なコンテンツと機能に対して誰もがアクセスできるようにする。そして、先進的なブラウザや帯域が広い場合は、ウェブページの拡張バージョンを配信する。

ブラウザベンダは常に機能拡張と差別化を試みているので、ブラウザの応答性やユーザエクスペリエンスは改善され続けている。ユビキタスに利用できるブラウザがプラットフォームとしてレスポンシブなアプリケーションを提供するのは避けられない。

一方で、Nicholas Zakas氏のような議論もある。氏はプレゼンで、Javascriptに過度に依存したウェブアプリケーションを作ることはコストになる、と説明している。氏は一般的な問題に加え、現在のJavascriptを使い込んでいる"SPA"アプリケーションの問題に対して、分析と知見を提供している。そして、適切に機能制限をする方法について説明している。

また、今日のウェブは確固とした設計上の特性によって普及してきた、という事実からこの議論を見る向きもある。Stefan Tilkov氏のプレゼンではどうしてJavascriptが控えめであるべきなのか説明している。氏はアプリケーションはウェブの設計上の特性を取り込むことを薦め、その特性を Resource Oriented Client Architectureと呼んでいる。

ROCAは推奨事項を定義します。つまり、個別のフレームワークやプログラミング言語、ツールから独立していることです。これは、優れたアプリケーションのアーキテクチャの原則に含まれる推奨事項でもあります。ROCAの目的は、そのまま実装できる参照を提供することであり、異なるアプローチと比較することで設計上の決定の分岐点を示すことです。

Javascriptに依存しているアプリケーションは慣れ親しんだウェブを壊してしまうだろう。GoogleでGoogle Chromeの開発者支援をしているJake Archibald氏が説明するように、共有やリンク、ナビゲーティングについて考えた場合、ウェブサイトをGoogleやBingで検索可能にするのは、このようなアプリケーションの属性だ。しかし、そのとおりであったとしても、すべてのアプリケーションがこのような要件を満たすわけではない。例えば、ブラウザゲームやビデオプレイヤーだ。しかし、氏はプログレッシブエンハンスメントは未だに重要だと言う。

Tom Dale氏は、こうした属性は現在のJavascriptアプリケーションのさまざまな技術を使えば実現できることは認めている。しかし、常に現実的なやり方に基づく必要がある。

最初からJavascriptを多用すれば、以前は実現できなかったUIを提供する素早いアプリケーションを作ることができます。[...] もちろん、サーバ側で描画されたHTMLが適している場合もあります。ユーザのどのくらいがJavascriptを無効にしているかを分析して方針を決めるのがいいでしょう。

この記事に星をつける

おすすめ度
スタイル

BT