0

Dreamweaver CS6(with PhoneGap)とJavaScriptを使用してモバイルアプリを開発していjQuery Mobileます。JavaScriptは、ユーザーが入力したフォームデータを収集し、データをJSONオブジェクトに変換して、PythonWebサービスに送信します。モバイルアプリの目的は、ユーザーが料理の注文を作成してレストランに送信できるようにすることです。注文を作成するロジックを処理するエレガントな方法は何であるかについて、SOコミュニティに問い合わせたいと思いました。現在、ロジックはHTMLページのJavaScriptによって定義されています(以下の例)(簡潔にするために切り捨てられています)。

JavaScript:

    var burgerType; //defines burger type eg.cheeseburger,hamburger
    var burgerQueue = new Array(); //holds completed burgers

    //detects if cheeseburger
    $("#cheeseburger").click(function() {
        burgerType="cheeseburger";
    });

    //detects if hamburger
    $("#hamburger").click(function() {
        burgerType="hamburger";
    });

HTML:

  <div data-role="content">
    <ul data-role="listview" data-theme="e" id="burgers">
      <li id="cheeseburger"><a href="#toppings">Cheeseburger</a></li>
      <li id="hamburger"><a href="#toppings">Hamburger</a></li>
    </ul>
  </div>

スクリーンショット:ハンバーガーをクリックすると、トッピングを選択できる画面が表示されますが、関連性がないと思われるため、含まれていません。

レストランのメニューが変更された場合は、アプリを変更してそれぞれの市場(Play、iTunesなど)に再公開し、ユーザーに更新してもらう必要があるため、これはおそらくロジックを処理する非常に貧弱な方法だと思います。私がしたい最後のことは、バグや変更のためにアプリを絶えず更新しなければならないことでユーザーを苛立たせることです。アプリケーションディレクトリにある外部のjavascriptライブラリを使用して、ロジックをHTMLから部分的に分離できることは知っていますが、それは絶え間ない更新の問題には役立ちません。私はアプリをウェブサーバー上のモバイルアプリページに直接リンクさせたでしょう(したがって、私が行った変更はアプリを更新しなくてもすぐに表示されます)が、Appleのゲートキーパーが基本的にアプリを公開しない別のSO投稿を読みましたアプリにラップされたWebページだけです。私'

要約すると、ユーザーを絶えず更新することでユーザーを苛立たせることなく、jQuery/JavaScriptを使用してユーザーインターフェイスとコーディングロジックを動的に生成しようとしています。(ちょっと、jQueryがCDNでホストされているライブラリにホットリンクできるようにしています)。これは混乱を招く可能性があることを認識しています。質問がある場合は明確にします。

4

2 に答える 2

0

この種の場合は、jQuery mobileのようなAJAXナビゲーションフレームワークを使用することをお勧めします。これは、実際のhtmlドキュメントが1つしかないのに、何もリロードせずにページ間を移動します。

于 2012-11-19T13:50:25.700 に答える
0

1つのイベントを複数の要素にバインドできます。

$("#burgers").on("click", "a" function() {
    var li = $(this).parent();
    burgerType = li.attr("id");

    $.mobile.changePage("#toppings");
    return false;
});

次に、おそらくajax呼び出しに基づいて、データからリスト要素を生成する必要があります。そのようなことのために、私は通常、アプリの起動時にバックグラウンドでajax呼び出しを行い、更新のために接続してもアプリの起動が遅くならないように、その呼び出しの以前の結果を保存します。

于 2012-11-20T00:24:51.603 に答える