2012-01-09 8 views
0

それはそれはノックアウトのようなフレームワークは、開発への「オール・オア・ナッシング」のアプローチを取るJS私には思える:あなたのいずれかが100%のjavascript機能を採用するか、完全なフレームワークを使用しないでください。Javascriptのフレームワークとプログレッシブ・エンハンスメント

これらのフレームワークは、以下のシナリオのために非現実的なようだ:

1)SEOおよび/またはアクセシビリティが主要な関心事である 2)既存のWebアプリケーションは

何であるマークアップ生成サーバ側に重ねJSの機能を必要とするあなたの男の考え?私は本当にすべてのクライアント側のコードのフレームワークを使用したいと思います。私の好みはknockout.jsです。なぜなら、ドキュメンテーションとサンプルはバックボーンのものよりも強固に見えるからです。

ありがとうございます!

+2

私はそれがSEOに影響するとは思わない - つまり、Googleに必要なものをページに表示するのはあなたの責任です。その後、KOを使用して、その上にベルとホイッスルを追加します。 –

答えて

2

は、私はそれが最終的にはオール・オア・ナッシングのアプローチにシフトしているとフレームワークのこれらの種類は、唯一のそのように使用されるべきであること、それは良いことだと思います。

SEO:Webアプリケーションを構築する場合、通常は登録ユーザーのみがアクセスできます。したがって、あなたはSEOの公開面のページを最適化するだけです。また、GoogleではJSで生成されたページもクロールできます。

Acessibility:これは、常に主要な関心事として育て、残念ながら多くの人々は本当にこれが何を意味するのかのアイデアを持っていません。私は盲目の人と1年以上働いていて、当時の開発者とは違って、スクリーンリーダーはJavaScriptをかなり扱うことができました。本当に重要な場合は、特定の障害の対象となるウェブサイトのさまざまなバージョンを提供してください(たとえば、視力の悪い人々はpxの代わりにemを使用してCSSを作成するだけで、さまざまなズームレベルで動作します)。

既存のアプリケーション:それはJSON RESTのWebサービスのいくつかの種類を提供することができるように、既存のアプリケーションを拡張します。これは、これらのフレームワークの1つを使用するために必要な調整です。そうすれば、アプリケーションのさまざまなバージョン(モバイルなど)を簡単に作成することもできます。

+0

ありがとう、Daff。素晴らしい指導。しかし、私の経験では、「アプリ」とみなされる可能性の高い高度な機能を持つウェブサイトの公開側の部分があります。たとえば、ほとんどのコンテンツがサーバー側に読み込まれ、多くのjs砂糖が振りかざされているこのサイトを参照してください。私は良いSRPを実施するフレームワークを使用したいと思います。しかし、私はサイトを掻き集めて、フレームワークが必要とするすべてのものをメモリにロードして動作させる作業を2倍しなければならないようです。 – drogon

+0

これはトレードオフのようなものです。この種の互換性を特に対象とするJavaScriptフレームワークがあるかどうかは不明です。基本的に砂糖を追加するには、MVCスタイルのフレームワークではなくjQueryが必要です。 – Daff

1

私はフィードバックにして私が読んでいるものに基づいて意思決定に来ていると思う:

私が考えるするための最大のものは、プログレッシブ作るの(時間、資源、などで)コストです向上した利益と利益が得られました。 PEは、多くの場合、サーバサイドのコードができるだけ再利用されていても、サーバサイドとクライアントサイドの両方で作業するための余分な作業を行っているため、フロントエンドの開発を実際に遅くするようです。また、PEは、jsonやノックアウト/バックボーンなどの高度なクライアントテクノロジやフレームワークではうまく機能しません。ドキュメントベースやアプリベースのWebプロジェクトで作業しているかどうかは、多くの場合、どのラインがぼやけているように見えるのかはわかりませんでした。私の(新しい)決定木は

If SEO is a concern, use progressive enhancement. Don’t rely on rumors that content loaded from javascript gets indexed! 

If Accessiblity is a concern, use progressive enhancement. Just not ready for js in this arena. 

If lack of javascript is a major concern, use progressive enhancement. Not sure if this should ever be a major concern anymore… 

If it’s simple content where js will buy you little, just do the traditional web development 

Otherwise, rely on clean javascript and server-side services, take and OO approach using a js framework! 
です。

ありがとうございます!

0

現在のバージョンのknockoutは、PEの原則にはあまりよく似ていません。 Hereクライアント側でHTMLを再構築するのではなく、サーバー側のHTMLを使用するノックアウト用の特別なテンプレートバインディングを実装しました。私は仕事を延長したかったので、もし誰かがそれについて考えていたら、私に教えてください。

関連する問題