Разница между приложениями Metro, написанными в HTML/CSS / JS vs XAML / C#

в чем разница между приложениями Metro, написанными в технологиях веб-разработки, и приложениями, написанными на XAML/C# и т. д.? Предоставляет ли Microsoft Metro API крючки для Javascript, где все это родное для C#? Должны ли они работать рука об руку, или это выбор разработчиков, какой маршрут идти?

есть ли определенные функции, которые не могут быть реализованы при использовании JS (кроме аппаратных возможностей OpenGL)?

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

1 ответов


Microsoft приложила много усилий, чтобы сделать Javascript языком первого порядка наравне с C# для разработки WinRT. Как Javascript, так и C# имеют прямой доступ к API WinRT через языковые проекции. То есть существует уникальная привязка, специфичная для языка к базовому API. Таким образом, ни один язык не является более "родным", чем другой.

вы должны иметь возможность написать эквивалентное приложение Metro на любом языке. На высоком уровне это действительно сводится к тому, язык / окружающая среда, с которой вам удобнее.

тем не менее, есть несколько различий, которые должны учитывать при принятии решения. Во-первых, компоненты WinRT могут быть написаны только на C# или c++. Javascript может использовать только компоненты thse. Если есть намерение создать повторно используемые / разделяемые компоненты, следует иметь это в виду.

во-вторых, хотя Windows Phone 8 SDK еще не выпущен, есть признаки того, что приложения Windows Phone 8 могут быть записаны только в С.# Если есть намерение создать аналогичные приложения как для планшета, так и для телефона, это, вероятно, серьезное соображение.

не было много исследований на основе производительности, сравнивающих два в приложении Metro, поэтому трудно сказать, станет ли это фактором или нет.

тогда есть также сторонняя поддержка для рассмотрения. C# / XAML хорошо зарекомендовал себя и имеет много сторонней поддержки. Но точно так же Javascript имеет много сторонних библиотек доступно (например, jQuery), которое по большей части можно ввести и использовать в приложении Metro. Я бы дал небольшое преимущество C# / XAML, но кажется, что поддержка хороша для обоих.