24

Jeff は、jQuery を使用して stackoverflow を記述することについて話しているときに、「プログレッシブ エンハンスメント」の概念について言及しました。

簡単なグーグルの後、私はそれについてのいくつかの高レベルの議論を見つけました.

プログラマーとして始めるのに適した場所を誰でもお勧めできますか?

具体的には、私は PHP で Web アプリケーションを作成しており、YUI を使用してページを改善したいと考えていますが、それらの多くは非常に JavaScript ベースのようであり、ほとんどの作業は JavaScript を使用して行われています。Javascript を使用せずにサイトを表示すると、ほとんどのサイトが壊れてしまう可能性があるためです。

誰もがこのアイデアを使い始めるのに適した場所を持っています.私は言語についてはあまり気にしません.

理想的には、最初に静的 HTML の作成を開始し、次に YUI (またはその他の Ajax フレームワーク) を追加して、よりリッチなクライアントのメリットを得る方法を知りたいと思います。

4

8 に答える 8

14

あなたが言ったように

Javascript を使用せずにサイトを表示すると、ほとんどのサイトが壊れてしまう可能性があるためです。

これはプログレッシブ エンハンスメントではありません。プログレッシブ エンハンスメントとは、JavaScript や CSS を使用せずにサイトが完全に機能し、これらの追加のテクノロジ/コード追加 (レイヤー化) して、Web サイトの使いやすさと機能を向上させることです。

私が挙げることができる最良の例は、この Web サイトのタグ入力ボックスです。JavaScript がオフになっていても、スペースで区切られたタグを入力できるように機能します。JavaScript をオンにすると、以前のエントリの候補がドロップダウンに表示されます。

これはプログレッシブ エンハンスメントです。

于 2008-08-05T15:51:11.873 に答える
10

基盤となるプログレッシブ エンハンスメントであるUnobtrusive JavaScriptも参照してください。

于 2008-08-05T16:05:29.020 に答える
4

NETTUTSでプログレッシブ エンハンスメントを使用した投票の作成に関するチュートリアルを書きました。XHTML/CSS と PHP を使用して機能的なサイトを作成し、JavaScript でフォームなどをインターセプトするという考え方です。(私はjQueryを使用しました)。

于 2008-08-05T15:55:59.553 に答える
3

基本的に、サイトがJavaScriptをオフにしても機能する場合は、JavaScriptを使用して追加したものはすべてプログレッシブエンハンスメントと見なすことができます。

これは不要だと思う人もいるかもしれませんが、多くの人はNoScriptなどのアドオンを使用して(または、ブラウザー設定でJavaScriptをオフにして)閲覧しています。さらに、多くのモバイルWebブラウザーは、JavaScriptをサポートしている場合とサポートしていない場合があります。したがって、JavaScriptを使用する場合と使用しない場合で、サイトを完全にテストすることをお勧めします。

于 2008-08-05T17:20:25.077 に答える
3

プログレッシブ エンハンスメントは、セマンティック HTML の優位性を強調し、ブラウザの機能をテストし、それらのエンハンスメントを利用できるブラウザの JavaScript や CSS エンハンスメントを条件付きで「階層化」する開発手法です。

鍵の 1 つは、ブラウザスニッフィングではなく、ブラウザで何ができるをテストしていることを理解することです。Modernizrは、非常に人気のあるブラウザー機能テスト スイートです。

Progressive-Enhancement は本質的に (セクション 508) アクセス可能です。それは法律の文言と規則の精神を満たすことを規定しています。

Filament Group は、このテーマについて優れた「Designing With Progressive Enhancement」という本を書きました。(私は Filament Group とは関係ありませんが、彼らは非常に頭が良いので、私が所属していたらよかったのにと思います。)

于 2012-10-23T13:56:54.387 に答える
3

他の方向からそれを行うことは、グレースフル デグラデーションと呼ばれることがあります。これは通常、さまざまなテクノロジによって提供される拡張機能を使用してサイトを最初に構築し、その後、これらのテクノロジを使用するブラウザで適切に機能を低下させるように変更する場合に必要です。

また、IE 5.5、Netscape などの古いブラウザー (インターネット用語では古い) で動作するように設計する場合にも、適切な劣化が行われます。

私の意見では、アプリケーションを適切に劣化させるには、はるかに多くの作業が必要です。徐々に強化すると、はるかに効率的になります。ただし、既存のアプリを取得して、これらの不足している環境でアクセスできるようにする必要がある場合があります。

于 2008-08-05T15:57:00.113 に答える
2

プログレッシブエンハンスメント:

  1. プレーンなHTML/CSSサイトは素晴らしいです(完全に機能し、ユーザーフレンドリーです)。
  2. JavaScriptを追加すると、新しいレベルのすばらしいものが定義されます。
于 2010-07-21T17:22:11.343 に答える
2

これは非常に重要な概念であり、それを理解している Web 開発者がほとんどいないことは残念です。

基本的には、Plain Old HTML (構造要素、リンク、フォーム) でサイト/フレームワークを構築することから始めます。次に、いくつかのスタイルを追加してから、光沢のあるもの (Ajax など) を追加します。

それほど難しいことではありません。ペイルホース言うように、優雅な劣化はより多くの作業です。

Web サイトは、どのユーザー エージェントでも機能する必要があります。見た目は同じではなく (視覚障害がある場合は、見た目も音もありません)、機能するだけです。

于 2008-09-19T04:37:17.223 に答える