13

Web開発テクノロジーで記述されたMetroアプリとXAML/C#などで記述されたMetroアプリの違いは何ですか?Microsoft Metro APIは、すべてC#にネイティブなJavascriptのフックを提供しますか?それらは連携して機能する必要がありますか、それとも開発者がどちらのルートを選択するかを選択しますか?

JSを使用している場合に実装できない特定の機能(OpenGLハードウェア機能以外)はありますか?

私が疑問に思っている理由は、大規模なMetroアプリを構築するためにどのテクノロジーが必要かを知ることです。そうすることで、ある時点に到達したときに、レンガの壁にとらわれず、間違ったテクノロジーを使用したことを知らせてくれます。

4

1 に答える 1

17

Microsoftは、JavascriptをWinRT開発用のC#と同等の一階述語にするために多くの作業を行ってきました。JavascriptとC#はどちらも、言語プロジェクションを介してWinRTAPIに直接アクセスできます。つまり、言語に固有の固有のバインディングが基盤となるAPIにあります。したがって、どちらの言語も他の言語よりも「ネイティブ」ではありません。

どちらの言語でも同等のMetroアプリを作成できるはずです。大まかに言えば、それは実際にあなたがより快適な言語/環境に帰着します。

ただし、決定に考慮すべきいくつかの違いがあります。まず、WinRTコンポーネントはC#またはC++でのみ記述できます。Javascriptはこれらのコンポーネントのみを消費できます。再利用可能/共有可能なコンポーネントを作成する意図がある場合は、これを覚えておく必要があります。

次に、Windows Phone 8 SDKはまだリリースされていませんが、Windows Phone 8アプリはC#でしか記述できないという兆候があります。タブレットと携帯電話の両方で同様のアプリを作成する意図がある場合、これはおそらく深刻な考慮事項です。

Metroアプリで2つを比較するパフォーマンスベースの研究はあまりないので、それが要因になるかどうかはわかりません。

次に、考慮すべきサードパーティのサポートもあります。C#/ XAMLは十分に確立されており、多くのサードパーティサポートがあります。しかし、同様に、Javascriptには多くのサードパーティライブラリ(jQueryなど)があり、ほとんどの場合、Metroアプリに取り込んで使用することができます。私はC#/ XAMLに少し優位性を与えますが、サポートは両方に適しているようです。

于 2012-09-28T19:05:35.637 に答える