2009-03-13 6 views
1

我々は現在、それはUIだ用の2つの主要な要件がある業務アプリケーション設計されています、リッチなユーザー・インターフェースを提供する他のアプリケーションとの相互運用、アクセスするために、企業ユーザのためのデスクトップ(WPF)上で実行)WPFとWebアプリケーションの両方をターゲットにするにはどうすればよいですか?

2)ASP.NET/Ajaxを実行して、このアプリケーションのいくつかのコンポーネントを顧客(インターネット)に提供します。残念ながら、Silverlightは(まだ)オプションではありません。我々はウェブ上で利用できる完全なアプリケーションを作成する必要はありませんが

は、これらの構成要素のいくつかは、かなり複雑であり、私たちは、WPFの実装とできるだけ多くのUIコードともシェアをしたいと思います。

この目標を達成するためにはどのようなオプションが必要ですか?両方の技術でうまくいくパターンがありますか?

更新:彼らは私が探していたものを含んでいないにもかかわらず、答えを

ありがとう! :)

私は考えませんUIジェネレータは良いオプションです。エドゥアルドのように、あなたはおそらく両方の世界で問題に終わるでしょう。私は彫刻をチェックアウトします。

答えて

4

私はずっとこの行に沿って考えていましたが、私はまだの偉大な答えを思いつきました。 MVP/MVVM/MVVMのさまざまなUI手法のバリエーションを使用していて、このアプローチでは非常に訓練されています(つまり、プレゼンテーション用のものとビヘイビア用のものを混在させない)なら、あなたは自分の思考の一部です。おそらく道のりを遠ざけるだろう。

あなたのUIを高いレベルで記述し、そのUIの表現をWPF/ASPXで生成するための単純な「言語」を作成するという、考え抜かれたさまざまなDSLツールキットの調査を検討することができます。

また、私は最近thisを実行しました。私はそれがどれほど良いか分かりません。私はチャンスをつかむときに、より詳しく見ることを計画しています。

+0

ありがとう、私は彫刻をダウンロードし、それを見てみましょう! – laktak

+0

彫刻はどのアプリケーションにも使用したいものではありませんので、MVVMとMVCを付けておきます! – laktak

2

幸運を祈る!

残念なことに、Asp.net/ajax(一般的にはそのWeb)とWPF(とにかく、WinFormsをそこに投げ入れる)は非常にユーザーインタフェースモデルが異なり、必ずしも別のもののためにうまくいくとは限らない。つまり、どちらのテクノロジ用に作成されたアプリケーション間でもロジックを共有できないというわけではありませんが、私はここで強調しますが、UIロジックはそのカテゴリには含まれません。

私はWPFとASP.Net MVCのバリエーションを最近使用していますが、私はそれらが手近な技術に非常に適していると言います。しかし、それらは非常に似ていますが、それらの違いはあります。両方の技術の優れた機能を利用できる抽象レイヤーを(かなりの時間で)書くことができるとは思いません。

最終的には、いくつかのSOAパターンに従い、できるだけ多くのビジネスおよびデータ・アクセス・ロジックを共通ライブラリに抽出することをお勧めします。次に、これらの共通ライブラリを利用するために、WPFとAsp.netに別々のユーザーインターフェイスを作成します。これは私の会社が現時点で取っているアプローチであり、魅力的なように機能しています。

UIロジックを2回(asp.netとwpfのために1回)書くのは難しいようですが、あなたのコードがそれらの技術に最も合ったパターンとプラクティスに合うようにする価値があると思います。

Silverlightはオプションではありませんが、XBAPを考慮しましたか?

1

以前の仕事であれば、私たちは何か似たようなことをしました。 Daniel Pratt氏の言うとおり、私たちはインターフェイスをXMLで記述し、レンダリングはフォーム、レポート、または作成することを決めたものを作成します。

HTMLレンダリングでいくつかのUI検証を行い、SwingレンダリングでJava関数を呼び出すためにはJavascript関数を提供する必要があります。

両方の世界で不完全なアプリで終わるかもしれないことに注意してください。

関連する問題