对于Windows 8和RT,JavaScript API中的所有功能是否也在用于Windows 8 / RT开发的XAML / C#中?我听说它补充了大量的API功能,但不是100%。
答案 0 :(得分:4)
是和否:
由于JS主要在HTML之上运行,并且JS是单线程的,并且是松散类型的,并且具有基于lambdas和闭包/范围传递的遗产,而不是传统的类构造,DOM库和C#+ XAML的特点也不同。
所以问题归结为你在说什么:
如果您的问题是:
“我可以通过MS特定的库以我选择的语言访问Windows RT功能吗?”
答案是肯定的。
如果您的问题是:
“我可以用JS / HTML做我能用C#/ XAML或C ++做的所有事情吗?”
答案是否定的。
如果您的问题是:
“让我对语言X中WinRT方法调用/ API足迹的直接了解
(即:[CTRL + X | CTRL + C],CTRL + V /逐字),语言Y?“
答案是否定的。
因此,充分利用这一点的关键是要知道什么是RT规范的一部分
XBox360控制器支持,例如:
JS不支持(至少不是我最后一次检查规范 - 在dev发布期间)。
为什么不呢?
它不是WinRT的支持部分,ergo,不是RT库的一部分,因为它不能从JS RT库中访问。
但是在C#或C ++中使用DirectInput / XInput,在RT应用程序中,您可以完全支持360控制器。
另一方面,WinRT库中实际支持的所有内容(文件访问,网络摄像头/音频访问,Promises等)在库内可用(以特定于语言的方式访问/行为),无论语言如何,并且在方法调用方面都以大致相同的速度运行(因为每种语言基本上都有一个访问C ++实现的包装器),但不一定是最终运行时(网络摄像头应用程序的HTML5画布应用程序可能)比C ++应用程序慢......毫不奇怪。