10

両方のプラットフォームの Metro が共通の「ルック アンド フィール」を共有していること、および WinRt が Windows Phone 7 の Silverlight と同様に XAML と C# (または VB.NET) を利用していることを私は知っています。

ただし、WinRT が Silverlight ではないことも知っています。

したがって、Windows 8 タブレットと Windows 7 (または 7.5) Phone の両方で動作するアプリを作成するプロセスはどのようなものでしょうか?

WinRt は Silverlight にどれくらい近いですか?

4

6 に答える 6

20

Microsoftの特定の人々が、数行のコードを変更するだけでよいと主張しているにもかかわらず...

アプリの移植がどれほど難しいかについて考えられる唯一の答えは、IT依存です!

  • 電話アプリは何をしますか?
  • その機能のどれだけがWin8でも利用できますか?
  • Win8で同じことができない場合はどうすればよいですか?
  • Win8バージョンに(もしあれば)何を追加する必要がありますか?
  • 電話と比較して、Win8にある余分な画面領域をどうしますか?
  • 一方には存在しないコントロールまたはUI要素を使用していますか?
  • など、...。

パラレルは次のとおりです。

  • どちらもXAMLを使用します
  • どちらもコードに同じプログラミング言語を使用できます(おそらくC#)
  • Win8での「メトロスタイル」アプリのデザインは、Metro(WP7のデザイン言語)に触発されました

それを超えると、アプリによって異なります。

両方で実行されるアプリを作成することはできません。2つのプラットフォームでは、異なるバージョンの.net Frameworkをターゲットにする必要があるため、少なくとも再コンパイルする必要があります。

更新:
Microsoftは、このような移植を行うための初期段階のガイダンスを提供しています。これには、いくつかの名前空間とAPIマッピングが含まれています。

于 2011-09-15T11:27:36.310 に答える
4

APIを見て、ユーザーエクスペリエンスの違いを無視すると、難しいことではありませんが、些細なことではありません。または、別の方法として、WPFからSilverlightに移行するよりも困難ですが、WinFormsからWPFに移行するよりも困難ではありません。

  • ほとんどのWP/Silverlightコントロール(ピボット/パノラマを除く)は存在しますが、それらは異なる名前空間に存在します
  • アプリケーション間通信や状態管理などの他の機能は、まったく異なる動作をするように見えます。
于 2011-09-15T11:18:33.907 に答える
2

私が経験した最大の潜在的な問題は、たまたま Windows Phone で XNA/Silverlight を使用して開発することを選択した場合です。その場合、アプリケーションを完全に書き直すか、MonoGame などの XNA の代替品を試してみる必要があります。私自身その道をたどったので、少なくとも現段階では、MonoGame は XNA の機能の少なくとも 90% をサポートしているようであり、少数の開発者グループと個人の努力のおかげで、今では比較的簡単にサポートできるようになったと喜んで言えます。基本的な変更をあまり行わずに、アプリケーションを移植します。

MonoGames Web サイトへのリンクは次のとおりですhttp://monogame.codeplex.com/

于 2012-10-18T00:04:27.380 に答える
1

MVVM アーキテクチャに精通している場合は、次のように考えることができます。

  • 両方のアプリで同じビュー モデルを共有できます (特に、ビュー モデルにビューについて何も知らせないという設計上の選択をした場合)
  • Windows Phone 用に既にある OS 固有のビューと Windows 8 用の新しいビューを作成し、同じビュー モデルにバインドします。
  • 選択したコンパイラ ディレクティブ、アプリの構成、分離されたシェル/ブートストラップなどを使用して、それに応じてビューを読み込みます。
  • プラットフォーム固有のものを使用する場合、view-model およびその他の非ビュー ライブラリにいくつかのコンパイラ ディレクティブを導入する必要がある場合があります。

これらのディレクティブに従うと、非常にプラットフォーム固有のユーザー エクスペリエンスを実現しながら、非常に統一されたコード ベースを実現できます。

これにより、他の人から得た素晴らしい回答に加えて、貴重な情報が追加されることを願っています.

于 2011-09-15T16:40:54.137 に答える
1

http://msdn.microsoft.com/en-us/library/windows/apps/br229571(v=VS.85).aspxをチェックして、それが役立つかどうかを確認できます。

于 2011-09-16T15:19:33.730 に答える
0

この答えはWP7とSLでも同じです。

1から10のスケールで、それはせいぜい6または7です。

残念ながら、WinRTは.Netフレームワークではありません。そしてそれはWP7&SLです。

そうは言っても、WP7 <-> W8が7の場合、WP8 <->は9.9です!

ちなみに、100%になることはありません。フォームファクタが異なれば、少なくとも異なるXAMLが必要になります。

覚えておいてください、MVVMで設計してください!

于 2012-10-18T16:36:44.967 に答える