18

Web標準カリキュラムで控えめなJavaScriptの原則を最初に読んだとき、それは本当に素晴らしいことだと思いました。

控えめなJavaScriptは、テクニックというよりもプログラミング哲学です。その最も重要なコンポーネントは、どの機能がどのレイヤーに属しているかを明確に把握することです。絶対に重要なサイト関数はすべてプレーンHTMLでコーディングする必要がありますが、そのベースを作成したら、基本の上にJavaScriptレイヤーを追加して、それをサポートするブラウザーに、より優れた、よりクリーンで、より高速に見えるインターフェイスを提供できます。

さらに、控えめなJavaScript:

  1. コードをよりクリーンにし、スクリプトのメンテナンスを容易にするために、構造と動作を分離します

  2. ブラウザの非互換性を先取りします

  3. クリーンでセマンティックなHTMLレイヤーで動作します

現在のプロジェクトでは、このアプローチを使用しています。他の種類の作業のためにJavaScriptをオフにしたとき、JavaScriptなしで完全に壊れているWebサイトの数に驚いていました。機能が不足しているだけでなく、全体にはまったく存在していなかった多くの重要な情報がありません。 DOM。

これらは特にソーシャルネットワークサイトでした。これが事実であったことは驚くべきことではありません。必要な開発時間とユーザーエクスペリエンスは、アクセシビリティよりもはるかに重要である可能性があります。

それでも私は、控えめなJavaScriptが時代遅れではないかどうかを自問しています。つまり、JavaScriptをネイティブでサポートしていないブラウザはどれですか?それはまだ2012年にふさわしいアプローチですか?私はそれを疑うようになりました。

4

2 に答える 2

18

ウェブサイトへのアプローチと JS の使用には 2 つの方法があります。

  1. 拡張機能としての JS

    この種のサイトは、新聞や本、手紙に似た意味で「ドキュメント」のようなものです。コンテンツを読んで使用するのに派手な効果は必要ありません。そして、これに伴い 、目的を犠牲にすることなく基本的な機能を構築し、複雑さを追加するという漸進的な拡張が行われます。

    ほとんどの (大規模な) Web サイトは、このスキームを使用して、非対応のブラウザーを使用している場合でもその有用性を維持しています。その一例が、lynx コマンドライン ブラウザでも動作する StackOverflow です。

     ______
    | JS   | - JavaScript for (optional) enhancements
    |------|
    | CSS  | - CSS for (optional) style
    |------|
    | HTML | - (mandatory) HTML with base content
    '------'
    
  2. プラットフォームとしての JS

    Web アプリの場合、HTML と CSS がビューとして機能する一方で、リアルタイムの動的なコンテンツと機能のために JS に基づいて構築するのが合理的です (むしろ必須です)。ライブラリやプラグインのように、プログラム (UI なし) を「ヘッドレス」にできる他のプログラミング言語と同義です。

    グレースフル デグラデーションには、次のアプローチがあります。

     ____________
    | HTML | CSS | - (optional) HTML and CSS view
    |------------|
    |     JS     | - (mandatory) JS platform
    '------------'
    

一般的には、「それはドキュメントですか、それともアプリですか?」という質問に要約されます。

于 2012-05-03T10:02:06.257 に答える
3

さまざまな企業がさまざまなアプローチをとっています。たとえば、Google の検索では目立たない javascript を使用しており、GMail では、GMail JS バージョンの後で開発した別の HTML のみのサイトを維持しています。

私にとってそれは依存します

  1. 複雑
  2. 機能性、
  3. 料金
  4. 影響を受けるユーザー数

目立たないJSを使用してグレースフルデグラデーションを行うか、専用のHTMLのみのサイトを構築するか、そのユーザーベースを完全に無視するかを決定します.

于 2012-05-03T09:55:59.797 に答える