用Web开发技术编写的Metro应用程序与使用XAML / C#编写的Metro应用程序之间有什么区别? Microsoft Metro API是否提供JavaScript的钩子,它们都是C#的本机?他们应该携手合作,还是开发商的选择呢?
如果使用JS(OpenGL硬件功能除外),是否有某些功能无法实现?
我想知道的原因是要知道哪些技术是建立广泛的Metro应用程序所必需的,所以当我到达某一点时,我没有被砖墙挡住,让我知道我使用了错误的技术.
微软已经投入大量的工作,使Javascript成为与C#进行WinRT开发的一级语言. Javascript和C#都可以通过语言预测直接访问WinRT API.也就是说,底层API具有针对语言的独特绑定.所以这两种语言都不比其他语言更“原生”.
您应该能够使用任何一种语言编写相同的Metro应用程序.在高层次上,真的会降低你喜欢哪种语言/环境.
然而,应该考虑到决定的几个差异.首先,WinRT组件只能用C#或C编写. Javascript只能消耗这些组件.如果有意创建可重用/可共享的组件,请牢记这一点.
第二,尽管Windows Phone 8 SDK尚未发布,但有迹象表明Windows Phone 8应用程序只能用C#编写.如果有意在平板电脑和手机上创建类似的应用程序,这可能是一个认真的考虑.
在Metro应用程序中比较两个,没有大量基于性能的研究,所以很难说是否会成为一个因素.
那么还有第三方支持来考虑. C#/ XAML已经很成熟,拥有很多第三方支持.但是,类似地,Javascript还有很多可用的第三方库(例如jQuery),大部分都可以在Metro应用程序中引入和使用.我会给C#/ XAML一点点优势,但似乎支持对两者都有好处.