MetroアプリにXAML/C#またはHTML5/JavaScriptのいずれかを使用することに主な利点または欠点があるかどうかをただ考えていました。
少し背景として、アメリカン航空のWindows 8アプリをHTML5で作成しました。それは素晴らしかったと言わざるを得ない。
まず、モバイルアプリに関連するHTML5のアイデアをすべて削除します。 Windows 8では、JavaScriptは第一級のネイティブ言語です。 XAMLアプリが行うすべてのハードウェア機能にアクセスできます。 WinJsアプリケーション用のVisual Studio 2012に組み込まれた素晴らしいテンプレートもあります。
WinJsはではありません半分考えられたWebView実装です。マイクロソフトはついにJSにふさわしい敬意を示しました。
IE10の最新かつ最高の機能に慣れることをお勧めします。正直なところ、これはすべてのWinJのコアフレームワークです。パワフルで速いです!これを使用してできることの例を次に示します: http://www.cuttherope.ie/ 。
また、WinJを使い始めるのに最適な場所は次のとおりです。 http://msdn.Microsoft.com/en-us/library/windows/apps/br211385.aspx
JSにとって、Windowsのネイティブ言語としての未来は明るく見えます。
どちらも。両方が開発者によって採用されているため(同時にではありませんが、XAML/C#を使用している開発者もいれば、HTML/JSを使用している開発者もいます)。 Webアプリ開発者のバックグラウンドを使用している場合は、HTML/JSへの移行が簡単です。そして、WPFとSilverlightを通じてXAMLに精通している人にとっては、スキルをXAML + C#に引き継ぐことは理にかなっています。そして、結果に関しては、どちらのテクノロジーも良い結果を示しています。したがって、私の推測では、どちらも今後数年間は同じように良いでしょう。
HTML5/JS APIを使用して構築されたMetroアプリは、C#/ XAMLの対応物と比較して、おそらく「より単純」に分類されます。前者は確かに機能的で適切に設計されたアプリを作成することができますが、HTML5で構築されたアプリの機能には間違いなく制限があります。反対に、C#の方が機能は高いかもしれませんが、複雑です。 HTML5アプリは、比較的簡単に設計および保守できます。
少なくとも、それが私の推測で最も良いと思います。 (まだ)Win8アプリの開発経験はありません。
両方がWinRTで実行されます(別名 MS Surfaceデバイス で使用されるWindows 8のバージョンを削減)。
開発者の好みに完全に依存します。したがって、HTML5/JSの経験を持つ開発者は、Window 8用に開発するのと同じように能力を発揮します。
MSプログラマーではない-プログラマーの観点からは、JS + HTML 5のようなプラットフォームにとらわれないオープンスタンダードに時間と労力を費やす価値があります。得た知識は他の場所で再利用できます。
Win 8はJS natrative をサポートしているため、これを使用して達成できないことは多くありません。
はい、ほとんどの場合、JavaScriptはネイティブ言語です。実行されている場所に応じて、マシンコードにコンパイル(JITスタイル)します。
たとえば、Chromeブラウザを実行している場合、V8エンジンは上記のことを実行します。IE 10がECMAScript 262標準をサポートする他の一般的なブラウザーと同じです。
Entou、ほとんどの場合、JavaScriptはインタプリタ言語ではなくなりました。これは、本格的なオブジェクト指向のプロトタイプベースのクライアント/サーバーサイドのユビキタスプログラミング言語です。