3

現在、いくつかのWebアプリケーションを開発しており、デザイナーがサインオフしたペーパープロトタイプを静的なWebページに変換できるようにしています。ページ間にハイパーリンクを設定することに加えて、設計者は静的jsonファイルからデータをフェッチすることでページ上の要素を更新するためのjquery呼び出しの追加を開始しました。デザイナーが完成したら、完成したWebページ、CSS、およびJavaScriptファイルを渡します。次に、サーバー側の開発者はページを編集し、ローカルの静的jsonドキュメントへの参照を、同じjsonデータ構造を返すライブjsonurlへの参照に置き換えます。

私の質問:GUI設計をサーバーサイド開発から切り離し、統合の時間と労力を削減する効率的な方法は何ですか?いくつかの例:

  • 開発者に、デザイナーのプロトタイプWebページのすべてのjson参照を手動で変更してもらいますか?
  • デザイナーのページを静的データと動的データの使用の間で簡単に切り替えることができるように、どこかにグローバル変数を追加しますか?
  • Webサーバーから実行されているとき、またはどこかのフォルダーから提供されているときをWebページに自己認識させますか?
4

3 に答える 3

1

アプリケーションが管理する必要がある状態情報の量によって異なります。あなたが与えた例は、サーバーからの読み取り操作のみに言及しています。書き込みはありますか?読み取り操作と書き込み操作の両方が失敗する可能性があります。設計者がこれらのケースを処理しますか、それともサーバー側のチームが後で GUI にパッチを当てますか?

デザイナー向けに、サービスのサーバー側実装のモックを提供するのが最善だと思います。サーバー モックは、単なるハッピー パスを超えたエラーや例外のスローなど、実際の動作をシミュレートできます。後で統合するためのプロセスを作成しようとするよりも、最近の単純な Web サーバーとモック サービスとして機能する単一のスクリプトをインストールする方が、はるかに面倒ではありません。

于 2010-03-11T04:43:00.853 に答える
0

私が見たものの1つは、「url / path」の問題全体(開発とテストと本番など)でかなりうまく機能することの1つは、「proto」のプロジェクトのサブドメインを作成することです(つまり、proto.mycoolapp.company.int)。これが、アプリ内の任意の場所で使用されるすべてのURLの基礎になります。

さらに、使用しているフレームワークを使用して、グローバルページハンドラーを設定し、すべてのデータファイル(つまり、json呼び出しなど)のセクション/ページ/関数+[URLデータ]を識別します。

これにより、アプリをセクションに分離し、機能を構築しながら、UIチームと開発チームの両方が他のチームのヒントに取り組むことができます。

たとえば、3つのセクション(ログイン、アカウント管理、プレビュー)を持つアプリがあるとします。proto.mycoolapp.company.int/ frontend / login / securelogin?user = GrayWizardXにログインURLサービス(データ、ファイルなど)があります。 。UIチームは、データの必要性を特定し、アプリ開発チームが(サーバーログなどを介して)要求されている機能を確認し、すべてが一致していることを確認するときに、これらを追加できます。

良い点は、本番環境に移行するときの唯一の変更は、「プロト」を見つけて置き換えることです。それがグローバル変数にある場合は、すばやく簡単に変更できます。

于 2010-03-11T01:35:08.543 に答える
0

あなたの環境が正確に何であるかは明確ではありません (プレーンな html のみ? または php のようなもの?)。

単純な古い HTML + JavaScript の場合は、各ページに JavaScript インクルードを使用して、適切なアドレスのセットを取得できます。このすべての環境固有の情報 (つまり、ローカルを使用するかサーバーを使用するか) を含むインクルード ファイルが同じ相対的な場所に残っている場合、実際のページの変更について心配する必要はありません。アドレス情報に常に同じ変数セットを使用し、そのインクルード ファイルでアドレス情報を定義するように GUI 担当者に指示するだけです。変数は、ローカルに取得する場合でもサーバーから取得する場合でも変更されず、変数に格納されている値のみが変更されます。

私はビタミンコーヒーが不足しているので、うまくいけばそれは理にかなっています.

于 2010-03-11T01:41:49.220 に答える