logo search
Osnovy_WWW-tekhnologii

Xaml и Microsoft Silverlight

XAML (eXtensible Application Markup Language) - язык интерфейсов платформы Windows Vista.

Модель приложений Vista включает объект Application. Его набор свойств, методов и событий позволяет объединять веб-документы в связанное приложение. Объект Application контролирует выполнение программы и генерирует события для пользовательского кода. Документы приложения создаются с помощью языка XAML, который описывает, прежде всего, пользовательский интерфейс. Логика приложения управляется процедурным кодом (С#, VB и др.). XAML включает основные четыре категории элементов: панели, элементы управления, элементы, связанные с документом и графические фигуры.

Microsoft Silverlight является официальным названием основанной на XML и .NET технологии под кодовым именем WPF/E (Windows Presentation Foundation Everywhere), являющейся альтернативной Adobe Flash. Представляет собой подмножество Windows Presentation Foundation, в котором реализованы векторная графика, анимация и средства воспроизведения видео. В версии 1.1 включает в себя полную версию .NET CLR - называемую CoreCLR, что позволит разрабатывать Silverlight приложения на любом из языков .NET. Silverlight v.1.0 содержит подключаемый модуль браузера для обработки XAML и кодеки для воспроизведения мультимедийного содержимого в форматах WMV, WMA и MP3.

Microsoft Silverlight представляет браузеру внутреннюю модель DOM, управляемую из JavaScript кода. Поскольку язык XAML основан на XML, то документ, определяющий загружаемый клиенту пользовательский интерфейс - текстовый и потому вполне пригоден для индексирования поисковыми системами. Используя модель DOM, JavaScript может динамически обновлять содержимое Silverlight, аналогично DHTML.

Также можно вызывать методы управления презентацией (запуска анимации или приостановки воспроизведения видео, например).

Silverlight-приложение начинается с вызова объекта Silverlight из HTML страницы, загружающего XAML файл. XAML файл содержит объект Canvas, выступающий подложкой для других элементов. Объекты XAML способны генерировать события, перехватываемые из JavaScript.

DOM

DOM (от англ. Document Object Model — «объектная модель документа») — это не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.

Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родительский-дочерний.

Изначально различные браузеры имели собственные модели документов (DOM), не совместимые с остальными. Для того, чтобы обеспечить взаимную и обратную совместимость, специалисты международного консорциума W3C классифицировали эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM.

Из-за несовместимости браузеров использование DOM иногда приводит к трудностям HTML-верстки и низкой надёжности страниц.

DHTML

Динамический HTML или DHTML представляет собой набор технологий, которые совместно позволяют создавать интерактивные веб-сайты на основе статического языка разметки (HTML), языка создания клиентских сценариев (JavaScript), языка описания представления документа (CSS) и документной объектной модели (DOM).

DHTML позволяет сценарным языкам изменять переменные языка описания представления документа, таким образом, изменяя вид и поведение прежде статического содержимого HTML документа уже после полной загрузки документа и в процессе просмотра его пользователем. Таким образом, динамичность, привносимая DHTML, проявляет себя в процессе просмотра страницы, но не имеет никакого отношения к генерации содержимого страницы при каждой ее загрузке.

В противоположность DHTML, динамически генерируемая страница - более широкое понятие, подразумевающее, например генерацию содержимого веб-страницы индивидуально для каждого пользователя. Это достигается созданием страниц с помощью клиентских или серверных (например, на PHP или Perl) сценариев.