Microsoft проделала большую работу, чтобы сделать 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, но похоже, что поддержка хороша для обоих.
person
Gambit
schedule
28.09.2012