1

WP7とWP8をターゲットにした新しいビジネスアプリケーションのアーキテクチャに取り組んでいます。WP7の場合、Silverlightアプリモデルを使用し、WP8に移行するときにコードを再利用できるように準備します(WP8で追加機能を使用する必要があります)。

WP8はxamlとC#もサポートするため、アプリの構造を整理するための特別な推奨事項はありますか。適切な方法を選択してください。

以下の推奨事項を要約します。

  1. コードとUIを分離します。
  2. ビジネスロジックの場合、C#Windows Phoneクラスライブラリを使用できます(7.1はWP7とWP8の両方で機能します)
  3. 非同期を頻繁に行う場合は、WindowsPhone用のタスク並列ライブラリの使用を検討してください。
  4. WP8固有の機能には別のlibを使用してください。WP8のみに接続してください。
  5. Wp7とWp8の両方でサポートされているはずなので(私の実験によると)、共通のUIを別のlibに移動することをお勧めします。
4

3 に答える 3

4

アプリの構造を整理する方法、適切な方法を選択します。

そうですね、Windows Phoneを使用する場合、MVVMは常にヒットします。SOLIDの原則に従った、きれいな構造であれば問題ありません。

Windows Phone 8は新しいC#5.0言語機能をサポートするため、非同期コードが多数ある場合は、 Windows Phone7用のWindowsPhone用のタスク並列ライブラリの使用を検討してください。タスクを返すすべての呼び出しawaitがC#5.0の新しい演算子をサポートするためです。

Windows Phone 8での最も重要な変更は、新しく、パフォーマンスの高いコントロールです。同じコードベースで両方のプラットフォームをサポートする場合は、UIコードをアプリケーションの他の部分から可能な限り分離してみてください。ほとんどの場合、ViewModelsなどのUIロジックも分離する必要があります。

データクエリの操作や計算を処理する、ビジネスロジック用の個別のアセンブリを少なくとも1つ用意することを検討してください。

C++開発/WinRT相互運用機能などの新機能については、個別のアセンブリを介して実行されます。これらのアセンブリは、とにかくWindowsPhone8アセンブリからのみ参照できます。つまり、現在のアプリケーション構造に懸念を与えるべきではありません。

于 2012-06-24T19:24:43.790 に答える
2

現在の回答では、実際のプロジェクト構造がどのように見えるかについて詳しく説明されていないようです。そのため、ここで私のことを共有するかもしれないと思いました。

以下に表示されているのは、4つのバージョンで存在する私のアプリの構造です:(WP7、WP8)X(Pro、ad Funded)

コードと出力フォルダー(bin7、bin8、...)は、最初のサブディレクトリに配置されます。プロジェクトファイルは、適切な名前のサブディレクトリに配置されます。コードファイルとアセットは、単一のプロジェクトにリンクされています。「プロパティ」フォルダ内のファイルは、各バージョン(他のGUID、名前、ライブタイルアイコンなど)に固有のものです。そうすれば、F6を1回押す必要があり、現在のバージョンのすべてのXAPがあります。(小さなスクリプトでそれらを収集する必要があります)

(FYI「Pro」バージョンは#ifdefコンパイラフラグで実装されています。)

私のWP7+WP8(+

于 2013-01-02T23:06:12.633 に答える
0

SilverlightはC#に基づくフレームワークであり、投稿に言語とフレームワークを混在させています。考慮すべき唯一のことは、WP7はC#3.0の機能のみをサポートすることです。おそらく、WP8はDirectXおよびC#4以上のより高度なワークベンチになるでしょう。まだわかりませんが、WP8ではCとC++も完全にサポートされています。

Silverlightは、長い間重要な更新やニュースを受信しません。この2つのOSを本当にターゲットにしたい場合は、Silverlightの使用をできるだけ避けて、共有C#3.0コードベースを使用することをお勧めします。おそらく、WP7デバイスが実際に死んでいるという事実を考えるとより良い選択かもしれません。アップデートとコア機能。これらはゲーム用のXNAを備えたSilverlightベースのデバイスですが、一部のハードウェア関連機能は非常にローエンドであり、MicrosoftはSilverlightについて長い間話していません。また、C /C++サポートに関するこの新しい更新はゲームチェンジャーになる可能性があります。開発者。

また、途中でC#5.0があり、WP7はすでに古く、数週間で古くなる可能性があります。また、プロジェクトの詳細はわかりませんが、サポートやさまざまな修正を行うために、おそらく数か月/数週間計画する必要があります。おそらく、WP7プラットフォームを対象としたC#3.0プロジェクトを開始する非常に正当な理由があると思います。私は、OSとしてのWP7については説明していません。当面の将来と、 Microsoftからのいくつかのプロジェクトに関するサポートとニュース。

このことについて話しているMicrosoftのチームhttps://twitter.com/#!/wpdevと連絡を取り合い、より詳細な画像を入手できるかどうかを確認してください。

結局、考慮に値する唯一の共通点はC#3.0言語のサポートであることに注意してください。フレームワークは異なる場合があり、新しいフレームワークを採用する方が便利な場合もあります。C/C++を使用すると無限になります。すべての新しいライブラリの量。

于 2012-06-24T15:31:37.823 に答える