使用HTML/CSS/JS和XAML/C#编写的Metro应用程序之间的区别

kno*_*lya 13 microsoft-metro windows-8 windows-runtime winjs winrt-xaml

用Web开发技术编写的Metro应用程序和用XAML/C#编写的应用程序有什么区别?Microsoft Metro API是否为Javascript提供了挂钩,它是C#的原生内容?他们应该携手合作,还是开发商选择走哪条路?

如果使用JS(OpenGL硬件功能除外),是否存在某些无法实现的功能?

我想知道的原因是要知道哪些技术是构建大量Metro应用程序所必需的,所以当我到达某一点时,我不会被一堵砖墙挡住,让我知道我使用了错误的技术.

Gam*_*bit 17

微软已经投入了大量的工作来使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略微优势,但似乎支持对两者都有好处.

  • 随着时间的推移,IMO,WinRT的HTML/Javascript开发将会进一步发展并变得更加根深蒂固.随着更多应用程序的编写,开发人员的承诺将会看到.对于微软而言,我也无法设想任何来自它们的诱饵和开关.他们有一个漫长的山坡,以建立移动市场份额.这意味着他们需要吸引开发人员进入他们的生态系统并保持他们的生态系 (2认同)
  • 对于它的价值,微软已经做了许多公开声明,关于它对JavaScript和Web堆栈的喜爱程度以及他们的业务决策(除了Win8中的JS之外)反映了这一点.Win8架构的强大之处在于可以使用多种语言堆栈.事实上,没有什么可说的,以后不能添加另一个投影以进一步扩展. (2认同)