Можно ли использовать XAML с JavaScript в WinRT?

Или JavaScript ограничен только HTML? Я видел только демонстрации HTML-JavaScript на Build 2011.


person Alice    schedule 23.09.2011    source источник
comment
Почему вы хотите это сделать? Если вы знаете javascript, то хорошо знаете HTML. (Я думаю о приложении winrt на JavaScript как о автономном веб-сайте с внешним видом Windows 8)   -  person Ian Ringrose    schedule 25.09.2011
comment
Потому что javascript — отличный динамический язык. Почему я должен использовать HTML для настольного приложения, когда есть гораздо лучшая технология, которую мы можем использовать? Я этого не понимаю.   -  person Alice    schedule 27.09.2011


Ответы (2)


XAML не поддерживается в приложениях JavaScript Metro — эти классы специально скрыты от проекций JavaScript WinRT.

Это на самом деле включает в себя не только материал из Windows.UI.Xaml, но и некоторые другие классы в других местах, обычно когда они делают что-то, что уже покрыто стандартной библиотекой JS (с расширениями HTML5). Самый простой способ узнать, что именно скрыто, — просмотреть файлы WinRT .idl (в папке «C:\Program Files (x86)\Windows Kits\8.0\Include\winrt») и найти webhosthidden. Те интерфейсы, к которым применен атрибут [webhosthidden], не видны из JS. Иногда вы также увидите комментарии, объясняющие, почему конкретный интерфейс скрыт.

person Pavel Minaev    schedule 24.09.2011

Еще нет. XAML используется только в C# или C++, а для JavaScript нужен HTML5.

Одна из причин заключается в том, что в случае HTML + JavaScript для рендеринга используется тот же движок, что и в IE10. (Кстати, Metro-версия IE10 не поддерживает такие плагины, как Silverlight.)

Другая отсутствующая в настоящее время область заключается в том, что вы не можете использовать ASP.NET/ASP.NET MVC для создания приложений в стиле метро, ​​что позволило бы комбинировать C# и HTML.

person Roman Boiko    schedule 23.09.2011
comment
Кстати, IE10 не поддерживает такие плагины, как Silverlight. Metro IE10 не поддерживает его, обычный IE поддерживает. - person Lukasz Madon; 23.09.2011
comment
Должна быть возможность использовать механизм форматирования Microsoft Razor для стилизации приложений с использованием HTML/CSS при использовании C#. (Но пока нет.) tirania.org/blog/archive/2011/ Сентябрь-15.html - person Roman Boiko; 24.09.2011
comment
Вероятно, можно использовать C#, используя один из доступных трансляторов C#-to-JS или MSIL-to-JS, но... почему? Если вам нужно приложение Metro с пользовательским интерфейсом в HTML и C# в серверной части, просто создайте приложение C# XAML с одним полноэкранным элементом управления WebView. - person Pavel Minaev; 24.09.2011
comment
@Pavel Я выбираю между HTML и XAML. Похоже, что HTML выигрывает из-за частичной возможности повторного использования HTML5 + JavaScript для Интернета (за пределами Windows), но мне также нравятся преимущества C# для доменной логики. Я также думал о реализации компонента WinRT на C# и использовании его из JavaScript. - person Roman Boiko; 24.09.2011