Windows 8とRTの場合、JavaScriptAPIのすべての機能はWindows8/RT開発用のXAML/C#にもありますか?多数のAPI機能を補完していると聞きましたが、100%ではありません。
1 に答える
はいといいえ:
- はい、ほとんどの API パラダイムは同じです。
- いいえ、それらは同じものとは呼ばれていません。
- いいえ、同じ方法では呼び出されません。
- いいえ、すべてが同じように動作するわけではありません (戻り値など)。
JS は主に HTML の上で実行され、JS はシングル スレッドのみで型付けが緩く、従来のクラス構築の代わりにラムダとクロージャ/スコープの受け渡しに基づく遺産を持っているため、DOM ライブラリと特性は次のとおりです。また、C# + XAML のものとも異なります。
つまり、質問は、あなたが何について話しているのかに要約されます:
あなたの質問が、
「MS 固有のライブラリを介して、選択した言語で Windows RT 機能にアクセスできますか?」
という場合、答えはイエスです。
「C#/XAML または C++ で実行できるすべてのことを JS/HTML で実行できますか?
」という質問
がある場合、答えはノーです。
あなたの質問が次の場合:
「言語 X での WinRT メソッド呼び出し/API フットプリントに関する私の知識は、言語 Y に直接
(つまり、[CTRL+X|CTRL+C]、CTRL+V/逐語的に) 変換されますか?」
答えいいえ。
したがって、これを最大限に活用するための鍵は、何が RT 仕様の一部であり、何がそうでないかを知ることです。
たとえば、XBox360 コントローラーのサポート:
JS ではサポートされていません (少なくとも最後に仕様を確認したときは -- 開発リリース中)。
なぜだめですか?
これは、WinRT のサポートされている部分ではありません。したがって、RT ライブラリの一部でもありません。したがって、JS RT ライブラリからはアクセスできません。
ただし、RT アプリで C# または C++ の DirectInput/XInput を使用すると、360 コントローラーを完全にサポートできます。
一方、WinRT ライブラリで実際にサポートされているすべてのもの (ファイル アクセス、Web カメラ/オーディオ アクセス、Promises など) は、言語に関係なく、ライブラリ内で利用できます (言語固有の方法でアクセス可能/動作します)。 、およびメソッド呼び出しに関してはすべてほぼ同じ速度で動作します (各言語には基本的に C++ 実装にアクセスするためのラッパーがあるため) が、必ずしも最終的な実行時間ではありません (ウェブカメラ アプリの HTML5 キャンバス アプリケーションは、 C++ アプリ... 驚くことではありません)。