Являются ли приложения на базе Windows XAML заметно быстрее, чем HTML/CSS?

Мы смотрим на разработку приложения в стиле Metro в стиле Windows 8, которое будет очень тяжелым, поэтому мы обеспокоены работой пользовательского интерфейса. На iOS было простое решение (Objective-C через HTML, чтобы получить требуемый результат пользовательского интерфейса), но, исследуя Windows 8, мне тяжело говорить, насколько быстрее будет XAML, чем HTML5/CSS.

Я видел общие сравнения между XAML и HTML5 (например, этот), и там Ответьте на вопрос, касающийся производительности, но не предоставляет никаких данных для резервного копирования его претензии или объяснения, почему XAML работает быстрее.

Из того, что я прочитал, HTML5/CSS визуализируется с использованием механизма рендеринга IE10, то есть он не является супер-родным и может быть медленнее. Но я не уверен, как визуализируется XAML, или просто как "родной".

Проводили ли какие-либо сравнения производительности между двумя технологиями или могли ли вы предоставить ссылки для дальнейшего объяснения того, как каждый из них отображается (с учетом производительности)?

Ответ 1

Вот мои мысли по этому поводу:

Первый XAML может дать вам лучшую производительность, чем HTML5. Если вы используете XAML в сочетании с С++, вы получите максимальную производительность для WinRT, потому что С++ - это собственный код. Если вы используете С#, то вы зависите от CLR (Common Language Runtime), который медленнее, чем собственный код.
- Ссылка 1
- Ссылка 2

Во-вторых, если вы собираетесь включить множество библиотек JavaScript, которые вы, вероятно, захотите, это повлияет на производительность. (jQuery, плагины jqQuery, backbone.js,...)

Затем, как вы сказали, HTML5 в JS отображается с помощью IE-движка. Так что это сложно. Это действительно зависит от того, как вы собираетесь писать свой код. Для лучших практик для XAML и JS вы можете посмотреть здесь.

Из личного опыта. Я написал приложение с помощью XAML/С#. Это лучше, чем Windows Phone 7 и 7.5. В основном потому, что они урезали .NET. Новая модель async и await довольно хороша. Вы можете легко реализовать асинхронные вызовы, webservice или рендеринг изображений в вашем случае.

Но меня тоже интересуют цифры, поэтому, если кто-нибудь проведет тест, это будет здорово.

Ответ 2

IE10 имеет аппаратный ускоряемый движок, в том числе графический ускоритель HTML5. Это означает, что рендеринг, скорее всего, будет столь же быстрым в HTML5, как и в XAML, так как в обоих способах используется графический процессор для рендеринга.

Логика может быть несколько медленнее в JS, но часто это не имеет значения. Если ваше приложение не является узким местом из-за большого количества логической обработки, и, как и многие приложения, просто в основном управляется событиями без тяжелых петель, JS, вероятно, достаточно быстр.

Затем вы можете принять участие в учетной записи, гораздо проще переносить HTML5 на другие платформы.

Ответ 3

Скорость не является большой проблемой, если вы не делаете некоторые, требующие интенсивной обработки, или должны выполняться в определенное время.

В действительности, вычисление стало настолько быстрым, что время на оптимизацию просто требует времени от реализации новых полезных функций. Оптимизируйте только там, где это необходимо.

Я бы сказал, сделайте свой выбор на основе функциональности 2, и насколько хорошо вы знаете каждого из них. На самом деле пару миллисекунд не очень беспокоиться. Я бы сказал, что большинство ваших конечных пользователей не собираются тестировать ваше приложение, они, скорее всего, будут привлечены функциями и функциональностью.

Мы больше не работаем на 64-битных процессорах RAM и 400 МГц.

Конечно, это предполагает, что вы не делаете то, что интенсивнее процессора. Если да, то вы все время изучаете неправильные технологии.