我们正在研究开发一款
Windows 8 Metro风格的应用程序,这款应用程序非常重视,因此我们关心UI性能.在iOS上,这是一个容易的决定(Objective-C over HTML,以获得我们需要的UI性能),但研究Windows 8我有一个更难的时间,告诉XAML将比
HTML5 / CSS更快.
我已经看到了XAML和HTML5之间的一般比较(如this one),还有一个SO answer涉及到性能,但没有提供任何数据来备份他的声明或解释为什么XAML更快.
从我所看到的,HTML5 / CSS使用IE10的渲染引擎渲染,这意味着它不是超本机的,可能会更慢.但是我不知道XAML是如何渲染的,还是“native”是什么.
解决方法
这是我对这个的想法:
第一个XAML可以让你比HTML5更好的表现.
如果您将XAML与C结合使用,您将获得WinRT的最佳性能,因为C是本地代码.如果你使用C#,那么你需要依赖于本地代码慢的CLR(Common Language Runtime).
– Reference 1
– Reference 2
第二,如果你要包括很多JavaScript库,那么你可能会这样做,它会对性能产生影响. (jQuery,jqQuery插件,backbone.js,…)
那么就像你说的那样,JS中的HTML5是使用IE的引擎呈现的.所以这是一个棘手的.这真的取决于你如何编写代码.
对于XAML和JS的最佳实践,您可以查看here.
从个人经验我用XAML / C#编写了一个应用程序.感觉比Windows Phone 7和7.5更好.主要是因为它们修剪了.NET.新的异步和等待模式是相当不错的.您可以轻松实现异步调用,Web服务或图像渲染.
但是我也对这些数字感兴趣,所以如果有人做了测试,那将是很棒的.