13

使用 Web 开发技术编写的 Metro 应用程序与使用 XAML/C# 等编写的 Metro 应用程序有什么区别?Microsoft Metro API 是否为 Javascript 提供了钩子,而所有这些都是 C# 原生的?他们应该携手合作,还是由开发人员选择走哪条路线?

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

我想知道的原因是要知道构建广泛的 Metro 应用程序需要哪些技术,这样当我到达某个点时,我不会被砖墙阻止,让我知道我使用了错误的技术。

4

1 回答 1

17

微软已经投入了大量的工作来使 Javascript 成为与 C# 相媲美的用于 WinRT 开发的一阶语言。Javascript 和 C# 都可以通过语言投影直接访问 WinRT API。也就是说,有一个特定于语言到底层 API 的唯一绑定。因此,两种语言都不比另一种更“本土化”。

您应该能够用任何一种语言编写等效的 Metro 应用程序。在高层次上,它确实归结为您更喜欢哪种语言/环境。

但是,有一些差异应该考虑到决定中。首先,WinRT 组件只能用 C# 或 C++ 编写。Javascript 只能使用这些组件。如果有创建可重用/可共享组件的意图,请记住这一点。

其次,虽然 Windows Phone 8 SDK 尚未发布,但有迹象表明 Windows Phone 8 应用程序只能用 C# 编写。如果打算为平板电脑和手机创建类似的应用程序,这可能是一个认真的考虑。

在 Metro 应用程序中比较两者的基于性能的研究并不多,因此很难说这是否会成为一个因素。

然后,还需要考虑第 3 方支持。C#/XAML 已经很成熟,并且有很多 3rd-party 支持。但类似地,Javascript 有很多可用的 3rd-party 库(例如 jQuery),它们大部分都可以被引入并在 Metro 应用程序中使用。我会给 C#/XAML 一点优势,但似乎支持对两者都有好处。

于 2012-09-28T19:05:35.637 回答