对于 Windows 8 和 RT,JavaScript API 中的所有功能是否也在用于 Windows 8/RT 开发的 XAML/C# 中?我听说它补充了大量的 API 功能,但不是 100%。
最佳答案
是与否:
- 是的,大多数 API 范例都是相同的。
- 不,它们的名称不同。
- 不,它们的调用方式不同。
- 不,它们并非都以相同的方式运行(返回值等)。
由于 JS 主要在 HTML 之上运行,并且 JS 是单线程的,松散类型的,并且具有基于 lambdas 和闭包/作用域传递的传统,而不是传统的类构造,DOM 库和特性也不同于 C# + XAML。
所以问题归结为你在说什么:
如果您的问题是:
“我可以通过特定于 MS 的库以我选择的语言访问 Windows RT 功能吗?”
答案是肯定的。
如果您的问题是:
“我可以在 JS/HTML 中做所有我在 C#/XAML 或 C++ 中能做的事情吗?”
答案是否定的。
如果您的问题是:
"我对 X 语言中 WinRT 方法调用/API 足迹的了解是否可以直接翻译
(即:[CTRL+X|CTRL+C],CTRL+V/verbatim),到 Y 语言?“
答案是否定的。
因此,充分利用这一点的关键是了解什么是 RT 规范的一部分,什么不是。
XBox360 Controller 支持,例如:
在 JS 中不受支持(至少在我上次检查规范时不支持——在开发版本期间)。
为什么不呢?
它不是 WinRT 支持的部分,因此,不是 RT 库的一部分,因此,无法从 JS RT 库访问。
但是在 C# 或 C++ 中使用 DirectInput/XInput,在 RT 应用程序中,您可以完全支持 360 Controller 。
另一方面,WinRT 库中实际支持的所有内容(文件访问、网络摄像头/音频访问、Promises 等)在库中都是可用的(可访问/以特定语言的方式运行),无论语言如何,并且在方法调用方面都以大致相同的速度运行(因为每种语言基本上都有一个包装器来访问 C++ 实现),但不一定是最终运行时(网络摄像头应用程序的 HTML5 canvas 应用程序可能比 C++ 应用程序慢……不足为奇)。
关于c# - XAML/C# API 中是否包含 Javascript API 中的所有功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400892/