6

Web サイトではなく Web アプリを開発する場合、1 つの HTML ページを使用して Javascript ですべてを行うのではなく、複数の HTML ページを使用する理由は何ですか?

私はそれがアプリケーションに依存することを期待しています - おそらく - しかし、主題に関する考えをいただければ幸いです。

前もって感謝します。

編集:

ここでの回答と私自身の調査に基づくと、単一ページの完全に JS を利用したサイトを作成したい場合、次のような便利なツールが含まれているようです。

JQuery プラグイン:

JQuery の歴史: http://balupton.com/projects/jquery-history

JQuery アドレス: http://plugins.jquery.com/project/jquery-address

JQuery ページネーション: http://plugins.jquery.com/project/pagination

フレームワーク:

スプラウトコア http://www.sproutcore.com/

カプチーノ http://cappuccino.org/

おそらく、JMVC: http://www.javascriptmvc.com/

4

10 に答える 10

5

ページベースのアプリケーションは以下を提供します:

  • 任意のブラウザまたはデバイスで動作する機能
  • より単純なプログラミング モデル

また、以下も提供します (ただし、これらは多くの js フレームワークで解決可能です)。

  • ブックマーク機能
  • ブラウザの履歴
  • 更新または F5 でアクションを繰り返す
  • インデックス可能性 (アプリケーションがパブリックでオープンな場合)
于 2010-12-28T22:04:35.573 に答える
2

大きな理由の 1 つは、Web サイトの検索可能性です。

JavaScript ですべてを行うと、検索エンジンが Web サイトのすべてのコンテンツをクロールすることが複雑になり、完全にインデックス化されなくなります。これを回避する方法はありますが (Google の最近の AJAX SEO ガイドラインを使用)、すべての検索エンジンがこれをサポートしているかどうかはわかりません。その上、別のページを作成するよりも少し複雑です。

複数の HTML ページを作成するか、何らかのフレームワークや CMS を使用してそれらを生成するかを決定する場合、より大きな問題は、Web サイトのさまざまなセクションに固有の URL があることです。たとえば、about セクションには mywebsite.com/about のような URL があり、その URL は Web サイト内の実際の「about」リンクで使用されます。

于 2010-12-28T22:02:25.413 に答える
1

単一ページの Ajax 化された Web サイトの最大の欠点の 1 つは複雑さです。他の方法では複数のページに分散していた可能性があるものが、突然 1 つの巨大なマスター ページに移動します。また、ページの状態を調整し (たとえば、編集モードまたはプレビュー モードの場合は追跡するなど)、それに合わせてインターフェイスを調整することも困難な場合があります。

また、JS を多用する 1 つのマスター ページは、複数の大きな JS ファイルをロードする必要がある場合に、パフォーマンスを低下させる可能性があります。

于 2010-12-28T22:14:10.133 に答える
1

OP の要求に応じて、JS のみのサイトでの経験について話し合うつもりです。関連する 4 つのサイトを作成しました。JS を多用する 2 つ ( SlideSpeedDate ) と、JS のみを使用する 2 つ ( YazooliGameCrush ) です。私は JS のみのサイトに偏見があることを覚えておいてください。したがって、基本的には、ジョディ フォスターに関する John Hinkley を読んでいるということです。

  1. アイデアは本当にうまくいきます。非常に低い運用コストで、優雅で応答性の高いサイトを作成します。私の見積もりでは、帯域幅、CPU などのコストは、同様のページベースのサイトを運営するコストの 10% になるということです。
  2. より少ないが、より優れた (少なくとも、よりよく訓練された) プログラマーが必要です。JavaScript は強力で洗練された言語ですが、Java のような厳格で想像力に欠ける言語にはない大きな問題があります。基本的に平凡な人がたくさんいる場合は、JSのみではなく、JSPまたはRubyを検討してください。PHP を使用する必要がある場合は、自分自身を撃ってください。
  3. アンカー タグで基本的なセッション状態を維持する必要があります。ユーザーは、URL がサイトの状態 (リロード、ブックマーク、戻る、進む) を表していることを単純に期待しています。jQuery の Address プラグインが多くの作業を行います。
  4. SEO が問題である場合は、Google Ajax Crawlingを調べてください。基本的に、検索エンジン専用の非常に単純な並列サイトを作成します。

JSのみを使用しないのはいつですか? ほぼ完全にコンテンツであるサイトを作成していた場合、ユーザーはある場所から別の場所に移動するだけで、複雑な方法でサイトと対話することはありません。それで、ウィキペディアと...まあ、それだけです。ユーザーが読むための多くのデータを備えた大きな参照サイト。

于 2010-12-29T00:04:42.983 に答える
0

実際、私はたった 1 つのページを使用して最初のアプリケーションを開発しました。

..ぐちゃぐちゃになった

私の考えは、デスクトップ環境を可能な限り模倣したアプリケーションを作成することでした。特に、アプリケーションのセクションに関係なく、その状態を維持するポップアップウィンドウに、いくつかのアプリデータの詳細なビューを表示したかった.

こうして私のフランケンシュタインは生まれました。

予算/時間の制約により、コードが手に負えなくなってしまいました。JavaScript ソースのさまざまなセクションがごちゃごちゃになってしまいました。さまざまなビューの適切な状態を維持することは、困難であることがわかりました。

適切な計画とテクニックがあれば、'1 ページ' アプローチは非常に興味深い可能性 (例: アプリケーション セクション間で状態を維持するウィジェット) を開く非常に簡単な方法だと思います。しかし、それは多くの...多くの潜在的な問題領域も開きます。含む...

  • グローバル名前空間のフラッディング (まだ独自のものを持っていない場合は...作成してください)
  • コード編成は簡単に手に負えなくなります...
  • コンテキスト - とても簡単です

きっと、もっとあると思います...

要するに、互換性の問題だけを理由に JavaScript の依存関係に頼らないようにしてください。私が気付いたのは、すべてを JavaScript に頼る必要がないということです。


私は実際には、プログレッシブ エンハンスメントのループで JavaScript の依存関係を削除している最中です。それはもっと理にかなっています。適切にコーディングされた JavaScript を使用して、同じまたは類似の効果を得ることができます。

発想がすごすぎる…

  1. JavaScript を使用せずに、整形式で完全に機能するアプリケーションを開発する
  2. スタイルを整える
  3. 全体を JavaScript でラップする

プログレッシブ エンハンスメントを使用すると、可能な限り最高のエクスペリエンスをユーザーに提供するアプリケーションを開発できます。

于 2010-12-28T23:09:39.400 に答える
0

stofac、まず、Single Page Interface (SPI) マニフェストへのリンクをありがとう (私はこの退屈なテキストの著者です)

これを言った、SPI != Javascript を介してすべてを行う

この例 (サーバー中心) を見てください: http://www.innowhere.com/insites/

GAE でも同じ: http://itsnatsites.appspot.com/

GAE アプローチの詳細: http://www.theserverside.com/news/thread.tss?thread_id=60270

私の意見では、複雑な SPI アプリケーション/Web サイトを完全に JavaScript でコーディングすることは非常に複雑で問題があります。私の意見では、最善のアプローチは SPI の「ハイブリッド プログラミング」であり、サーバー中心の大きな状態管理とクライアント中心の組み合わせです (別名 JavaScript by hand) を使用して、特殊効果を実現します。

于 2011-01-01T11:10:45.443 に答える
0

モジュール化。複数のファイルを使用すると、さまざまなワークフロー パスとプロセス パーツをきれいに分割できます。ビジネス ルールは通常、レイアウト ルールに直接影響を与えないものであり、複数のファイルは、無関係なものを壊すリスクなしに、編集する必要があるものを編集するのに役立つ可能性があります。

于 2010-12-28T22:01:57.870 に答える
0

その他の議論については、The Single Page Interface Manifesto と、Hacker News での (ほとんどの) 否定的な反応 (SPI ページの下部にあるリンク) を参照してください。

シングル ページ インターフェース マニフェスト: http://itsnat.sourceforge.net/php/spim/spi_manifesto_en.php

于 2010-12-31T17:57:17.923 に答える
-1
于 2010-12-29T13:55:19.070 に答える
-1

どこでも ajax を使用して 1 つのページですべてを実行すると、ブラウザーの履歴/戻るボタンの機能が壊れ、ユーザーにとって煩わしくなります。

于 2010-12-28T22:04:08.727 に答える