MetroアプリにXAML / C#またはHTML5 / JavaSciptを使用する利点と欠点は?[閉まっている]


19

Metro AppsにXAML / C#またはHTML5 / JavaScriptを使用することに大きな利点または欠点があるかどうかを疑問に思っていました。

回答:


18

少し背景として、American Airlines Windows 8アプリをHTML5で作成しました。素晴らしかったと言わざるを得ません。

最初に、モバイルアプリに関連するHTML5のアイデアをすべて削除します。Windows 8では、JavaScriptは第一級のネイティブ言語です。XAMLアプリが提供するすべてのハードウェア機能にアクセスできます。WinJsアプリケーション用にVisual Studio 2012に組み込まれた素晴らしいテンプレートもあります。

WinJsは、Webビューの実装を考えているだけではありません。マイクロソフトは最終的に、JSに値する敬意を示しています。

IE10の最新かつ最高の機能を十分に活用することをお勧めします。正直なところ、これがすべてのWinJのコアフレームワークです。強力で高速です!これを使用してできることの例を次に示します:http : //www.cuttherope.ie/

また、WinJsの使用を開始するには最適な場所です:http ://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx

Windowsのネイティブ言語としてのJSの将来は明るいようです。


4
まず、JavaScriptはネイティブ言語ではなくスクリプト言語です。(私が何かを見逃していない限り、それは現在マシンコードに直接コンパイルされています)。第二に、これはWin8の第一級言語ではありません。これは、アプリ(デスクトップアプリ、DirectX 11ゲームなど)ではなく、Metroアプリの開発に使用されることを意図しているためです。
デン

3
「ロープを切る」は、慎重に選ばれたポスターの子供です。同時に発生するものが比較的少ないことに注意してください。最新のデスクトップゲームが数百のスプライトを持っている場合、JSで実行されている適切なFPSを表示するのに苦労します。
デン

2
ちょっとデン-あなたのコメントは議論に追加されていないようです。マシンコードにコンパイルされていないため、メトロアプリに使用するのは良くないと言っているのですか?Cut the Ropeについての2番目のコメントでは、javascriptまたはXAMLで多くのFPSを使用した「モダンなデスクトップゲーム」を作成しないので、これは議論とは無関係だと思います。
フィリップバーチ

1
フィリップ、「JavaScriptやXAMLでFPSをたくさん使った「モダンなデスクトップゲーム」は書かない」とおっしゃいましたが、Windows 8デバイス用の最新のゲームを作ることは可能ですか?もしそうなら、ARMデバイスはWinRTのみをサポートするため、最新のゲームはIntelデバイスに限定されますか?
アインドゥーフス

1
@PhillipBurch:私のポイントは、「ネイティブ」、「ファーストクラス」、「パワフルで高速」が誤解を招く言葉の選択であるということです。そして、Metro用の高性能ゲームを開発するために、C#+ SharpDX / MonoGame(もちろんXAMLではありません)の使用を最も確実に検討します(ただし、ARMは別の話です)。
デン

4

両方。両方が開発者に採用されているため(同時にではありませんが、私が言っているのはXAML / C#を使用している開発者もいれば、HTML / JSを使用している開発者もいます)。Webアプリ開発のバックグラウンドから来た人にとっては、HTML / JSへの移行が簡単です。また、WPFおよびSilverlightを介してXAMLに精通している人にとっては、スキルをXAML + C#に引き継ぐことは理にかなっています。そして、結果に関する限り、両方のテクノロジーは良い結果を示しています。だから、私の推測では、両方とも今後数年間で同様に良いでしょう。


3

HTML5 / JS APIを使用して構築されたMetroアプリは、C#/ XAMLの同等物と比較して、おそらく「シンプル」に分類されます。前者は確かに機能的で適切に設計されたアプリを作成できますが、HTML5で構築されたアプリの機能には間違いなく制限があります。反対に、C#の方が能力は高いかもしれませんが、より複雑です。HTML5アプリは、設計と保守が比較的簡単です。

少なくとも、それが私の最良の推測です。Win8アプリの開発経験はありません(まだ)。


3
これは事実ではないと思います。どちらもWinRTのまったく同じAPIにアクセスできます。
イアン

2

どちらもWinRT(別名MS Surfaceデバイスで使用されるWindows 8の短縮バージョン)で実行されます。

開発者の好みに完全に依存します。したがって、HTML5 / JSの経験がある開発者は、Window 8向けに開発することもできます。


WinRTは「別名」Windows 8ではありません。これは、メトロUI /アプリのみを実行し、ARMベースのタブレットで動作する、本格的なWindows 8 OSの簡易バージョンです。
ツリーコーダー

はい、Windows 8はWin RTではありません。しかし、それが私の答えを読むことから得られる意味であれば、私はその声明をより明確にしました。
ELユスボフ

1

MSプログラマーではありません-プログラマーの観点からは、JSとHTML 5のようなプラットフォームに依存しないオープンスタンダードに時間と労力を費やす価値があります。得た知識は他の場所で再利用できます。

Win 8はJSをネイティブにサポートしているため、JS を使用して達成できないことはほとんどありません。


0

はい、ほとんどの場合、JavaScriptはネイティブ言語です。実行場所に応じて、マシンコードにコンパイル(JITスタイル)されます。

たとえば、Chromeブラウザーを実行している場合、V8エンジンは上記の処理を実行します。IE 10は、ECMAScript 262標準をサポートする他の一般的なブラウザと同じように機能していることを理解しています。

Entou、ほとんどの場合、JavaScriptはインタープリター言語ではなくなりました。これは、本格的なオブジェクト指向のプロトタイプベースのクライアント/サーバー側のユビキタスプログラミング言語です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.