1

私の上司には大きな夢があります。

彼は、デスクトップ デバイスとモバイル デバイスの両方で実行されるアプリケーションを作成したいと考えています。さらに、ときどき接続する (インターネットに接続せずに実行できる) ことも望んでいます。アプリケーションは、データベースからのデータに大きく依存します。

彼が話すすべての人は、HTML5/JavaScript を彼にプッシュし続け、一度書けばどこでも (っぽい) ソリューションを実行できるようにします。

JavaScript を使用してデータベースからデータを取得したり、JavaScript 用の ORM を使用したりするなど、この種の環境についてはあまり経験がありません。私は自分より先に進んでいるかもしれません。

彼の目標にできるだけ近づくための戦略を練る際、どのようなことに注意すればよいでしょうか? ここに私が持っている仮定と質問があります:

期待/仮定

  1. 私は、HTML5 と Local Storage で出現したと思われる「組み込み」またはローカル データベースのいずれかを使用する必要があると予想しています。
  2. このデータを、どこかのサーバーにあるデータと同期する方法も見つけなければならないと思います。
  3. このデータの同期は自作する必要があると思います。
  4. データの操作を簡単にするために、ある種の ORM が必要です。
  5. ローカル データベースのサイズに関連するあらゆる種類の奇妙なことに遭遇することを期待しています。
  6. インターネットに接続せずにアプリケーションを実行できるはずなので、アプリケーションのすべてのコードをクライアント側で実行する必要があると思います。

質問

私は何をやっている?

どこから始めればいいのかわからないくらい途方に暮れています。

これを正解/不正解の可能性があるものに変えるために、知っておくと役立つことがあります。

  1. HTML5/JavaScript アプローチは良い方法のように思えます (時々接続される、モバイル、およびデスクトップのターゲットを考慮して)?
  2. アプリケーションの開発を簡単にするために、どのような種類のフレームワークとツールを検討する必要がありますか?
  3. 彼は求めすぎですか?

アドバイス/ガイダンスをお寄せいただきありがとうございます。

リクエストによる: アプリケーションは何をしますか? アプリケーションは、(多かれ少なかれ) 構成可能な製品の見積もり/価格設定アプリケーションです。多数の製品 (ベース キャビネット、ウォール キャビネットなど)、多数の標準的な構成可能なオプション (木材、仕上げ、ドア スタイル)、および多数の (標準的ではない) 変更 (奥行きを減らし、高さを増やし、等。)。

選択した標準の構成可能なオプションに応じて、各製品の基本価格が変わります。その後、それらに変更を加えることができます (これにも代償が伴います)。

アプリケーションの大部分は既に存在します (ただし、ローカルにデータが保存されていない WPF アプリケーションとして)。これらの構成可能なアイテム (主にキッチン キャビネットなど) を製造するさまざまなメーカーに販売できるように設計されました。すべてのメーカーは、提供する木材/仕上げなど、製品の基本価格を決定する方法 (これも異なります)、およびさまざまな木材/仕上げなどをどのように組み合わせるかについて、独自のルールを持っています.

何とか、何とか、何とか、すべてのメーカーは非常にユニークです。

この問題を解決するために、製品/オプション/その他を設定したら、いくつかの式を記述して、それらの間の関係だけでなく、それらの価格設定方法も定義できる式ベースのアプローチを作成しました.

現在のモデルでは、アプリケーションはユーザーの PC で実行され、データはアプリケーションが呼び出しを行う Web サーバー上にあります。彼は、このすべてを、デスクトップでも使用できる、時々接続されるモバイル アプリケーションに変えたいと考えています。

どのメーカーのデータにも、画像、説明、メモ、何千もの製品/変更、およびそれらに関する多くの情報 (幅、高さ、奥行き、ドアの数など) が含まれているため、関連するデータは非常に多くあります。

4

1 に答える 1

1
  1. HTML5/JavaScript アプローチは良い方法のように思えます (時々接続される、モバイル、およびデスクトップのターゲットを考慮して)?
    • はい。JavaScript はおそらくこれを行うための方法ですが、まだ JavaScript に精通していない場合は簡単ではありません。特にモバイル デバイスでは、大規模なアプリケーションは JavaScript の野獣です。
    • 私はクライアント側のデータベース ストレージについてほとんど知りませんが、サーバー データベースとクライアント データベースの同期を維持するには、ほぼ確実に AJAX と XML または JSON 変換が必要になります。
    • クライアント上のデータのセキュリティとサイズを考慮してください (クライアントは、マシンに保存されているすべてのデータにアクセスできる必要がありますか?)。
  2. アプリケーションの開発を簡単にするために、どのような種類のフレームワークとツールを検討する必要がありますか?
    • 私はすべての DOM 操作、イベント フック、および AJAX に jQuery を使用しています。さらに、他の考えのために他の多くの機能/プラグインを使用しています。ぜひご覧になることを強くお勧めします。
    • Firebug (<-必須)
  3. 彼は求めすぎですか?
    • コネクションレスな側面が多すぎるかもしれません。コーディング時間が 2 倍になったとしても、私は驚かないでしょう。
    • アプリケーションが何をするかについて、さらに情報を提供したい場合があります。それが巨大な UI の重い CMS である場合、このプロジェクトは 1 人で何年もかかる可能性があります。ただし、ちょっとしたオタク ディナーのようなアプリであれば、それほど悪くはないはずです。

質問の更新後に編集

まず、クライアント側のデータベース アプローチをモバイル デバイスでテストします。ご利用の環境(Androidブラウザ、Mobile Safari)により、予期せぬ制限(データ通信速度、データサイズ)が発生する場合があります。インターネットに接続して仕事をしているときに、いつを更新するかということも、作業量を決定する大きな要因です。これらの質問は、クライアント側のデータベースの制限をテストすることで知ることができます。

残りは私にはかなり簡単に思えます。幸運を。=)

于 2011-11-10T16:35:36.417 に答える