Microsoft Expression 3

Часть 2

Алексей Федоров

Технология Microsoft Silverlight

Развитие Microsoft Silverlight

Сравнение Windows Presentation Foundation и Silverlight

 

В настоящей статье мы обсудим технологию Microsoft Silverlight, предназначенную для создания интернет-приложений с богатым интерфейсом (Rich Internet Applications, RIA), поддерживающих использование мульти-медиа, графики и анимации.

Технология Microsoft Silverlight

Технология Microsoft Silverlight — это библиотека классов для создания интернет-приложений с богатым интерфейсом (Rich Internet Applications, RIA), поддерживающих использование мультимедиа, графики и анимации. Silverlight поставляется в виде расширения для веб­браузера (размером всего 4 Мбайт), содержащего среду исполнения кода. Поддерживаются платформы Microsoft Windows, Mac OS X, Linux и FreeBSD (для последних требуется разработанная совместно с компанией Novell версия Silverlight под названием Moonlight). Поддерживаются браузеры Microsoft Internet Explorer 5.5+, Safari, Opera и FireFox. В версии Silverlight 4 также планируется поддержка браузера Chrome.

Разработка Silverlight-приложений возможна в Visual Studio 2008 с пакетом обновлений Service Pack 1, Microsoft Expression Design и Microsoft Expression Blend 3 + SketchFlow. Также потребуется загрузка и установка Microsoft Silverlight Software Development Kit.

Silverlight поддерживает графическую модель, схожую с Windows Presentation Foundation, использует язык XAML для описания интерфейсов приложений и поддерживает подмножество .NET Framework. Помимо создания интернет-приложений с богатым интерфейсом, Silverlight поддерживает отображение мультимедийных файлов в форматах WMV, WMA и MP3 через Windows Media Player, соответствующий компонент ActiveX или расширение для веб­браузера, помимо этого обеспечивается поддержка видео в формате VC-1, H.264 и MP4, а также аудио в формате AAC. В версию Silverlight 3 включено множество новинок, среди которых поддержка работы вне браузера, навигация по приложениям, множество новых элементов управления, 3D-трансформации и проекции, поддержка аппаратных ускорителей, шейдерные эффекты и адаптивное вещание с помощью технологии Smooth Streaming.

На схеме показана архитектура Silverlight.

 

Рисунок

Архитектура Silverlight

Как платформа Silverlight состоит из трех основных компонентов: ядра представления (Core Presentation Framework), подмножества .NET Framework (.NET for Silverlight) и компонентов для установки и обновления.

Ядро представления содержит компоненты и сервисы, поддерживающие пользовательские интерфейсы, взаимодействие с пользователями, включая ввод, набор компонентов для веб­приложений, средства воспроизведения мультимедиа, управления цифровыми правами и связи с данными, а также поддержку графики, включая векторную графику, текст, анимацию и графические изображения. Также сюда входит поддержка языка XAML для описания расположения элементов.

Состав ядра представления:

  • компоненты ввода — обрабатывают ввод с таких устройств, как клавиатура и мышь, диджитайзеры и другие устройства ввода;
  • средства отрисовки — обеспечивают отображение векторной и растровой графики, анимации и текста;
  • мультимедийные компоненты — отвечают за воспроизведение различных аудио­ и видеофайлов, таких как WMV и MP3;
  • поддержка Deep Zoom — позволяет увеличивать размеры изображений в высоком разрешении;
  • набор интерфейсных компонентов — поддерживает настройки с применением стилей и шаблонов;
  • средства расположения — отвечают за динамическое позиционирование интерфейсных элементов;
  • средства связи с данными — поддерживают связь объектов данных с интерфейсными элементами;
  • механизм DRM — обеспечивает управление цифровыми правами для мультимедийных файлов;
  • поддержка XAML — заключается в обработке разметки на этом языке.

Подмножество .NET Framework представляет собой набор классов для интеграции данных, поддержки сетевых коммуникаций, сборки мусора, расширяемый набор Windows-компонентов, а также общие классы для CLR. Некоторые части .NET Framework развертываются вместе с приложением. Эти библиотеки не входят в состав Silverlight Runtime и поставляются в составе Silverlight SDK. Сюда относятся библиотеки поддержки новых интерфейсных элементов, XLINQ, Syndication (RSS/Atom), XML-сериализации и Dynamic Language Runtime (DLR).

В подмножество .NET Framework входят:

  • средства работы с данными — обеспечивают поддержку технологий Language-Integrated Query (LINQ) и LINQ to XML, облегчающих интеграцию с различными источниками данных. Помимо этого поддерживается использование данных в формате XML и работа с сериализационными классами;
  • базовая библиотека классов (BCL) — обес-печивает набор стандартных функций, таких как обработка строк, работа с регулярными выражениями, функции ввода­вывода, механизм reflection, работа с коллекциями и средства многоязыковой поддержки (глобализация);
  • Windows Communication Foundation (WCF) — обеспечивает доступ к удаленным сервисам и данным. Сюда относится поддержка объектной модели браузера, обработка HTTP-запросов и ответов, поддержка кроссдоменных HTTP-запросов, поддержка RSS/Atom, JSON, POX и сервисов на основе протокола SOAP;
  • CLR (Common Language Runtime) — предоставляет средства для управления памятью, механизм сборки мусора (garbage collection), проверку типов и обработку исключений;
  • компоненты WPF (Windows Presentation Foundation) — обеспечивают богатый выбор элементов, среди которых такие элементы, как Button, Calendar, CheckBox, DataGrid, DatePicker, HyperlinkButton, ListBox, RadioButton и ScrollViewer;
  • DLR (Dynamic Language Runtime) — поддерживает динамическую компиляцию и выполнение сценарных языков, таких как JavaScript и IronPython для управления Silverlight-приложениями. Также обеспечивается расширяемая модель, позволяющая добавлять новые динамические языки для использования их в Silverlight.

Компоненты для установки и обновления упрощают процесс установки приложений и обеспечивают их автоматическое обновление.

Помимо рассмотренных выше возможностей Silverlight следует отметить следующие функции:

  • изолированное хранилище — безопасный доступ из клиентского приложения к файловой системе на локальном компьютере, позволяющий использовать локальное хранилище;
  • асинхронное программирование — поддержку фоновых потоков, обрабатывающих логику приложений;
  • управление файлами — возможность применения диалоговой панели File —> Open для упрощения создания безопасных загрузок файлов;
  • интеграция с HTML-кодом — возможность управления интерфейсными элементами в составе веб­страницы на уровне HTML DOM для доступа к объектам, свойствам, событиям и методам;
  • сериализация — поддержку сохранения CLR-типов в JSON и XML;
  • упаковка — класс Application и средства для создания*.xap-пакетов, содержащих само приложение и точку входа для его запуска из плагина Silverlight;
  • XML-библиотеки — классы XmlReader и XmlWriter для работы с XML-данными из веб­сервисов. Поддержка XLinq позволяет разработчикам обращаться к XML-данным непосредственно из кода.

Развитие Microsoft Silverlight

Новая версия Silverlight — Silverlight 4 — появится в первой половине 2010 года. Среди основных новинок Silverlight 4 можно отметить:

  • разработку бизнес-приложений:
    • вывод на печать содержимого Silverlight-приложений — поддержку печати на стороне клиента (Printing API),
    • более 60 настраиваемых элементов управления, включая элемент RichTextArea для полной работы с текстом, ссылками, графическими изображениями и редактированием;
    • поддержку локализации, в том числе на языки с иероглифами и написанием справа налево,
    • общий код для серверной и клиентской сторон,
    • улучшения в отображении данных (data binding),
    • поддержку MEF (Microsoft Extensibility Framework),
    • обновления в RIA Services,
    • полный визуальный редактор в Visual Studio 2010;
  • новые возможности в интерактивности:
    • поддержку работы с веб­камерой и мик­рофоном,
    • локальный захват видео и аудио без учас-тия серверной стороны,
    • поддержку работы с буфером обмена и операций drag-and-drop,
    • программную обработку нажатий правой кнопки мыши и движений колеса события MouseRightButtonUp и MouseRightButtonDown,
    • удвоение производительности при старте по сравнению с Silverlight 3,
    • улучшения в анимации для более динамичных интерфейсов,
    • поддержку жестов и других аспектов multi-touch,
    • поддержку мультикаст-трансляций и интеграцию с Windows Media Services,
    • защиту содержимого с помощью PlayReady, в том числе для H.264;
  • работу вне браузера и интеграцию с локальным компьютером — теперь приложения делятся на sandboxed (обычные) и trusted (с большими правами доступа к локальному компьютеру). Для sandboxed-приложений:
    • интеграцию HTML-кода внутрь Silverlight-приложений,
    • окна напоминания в углу экрана (как в Outlook),
    • DRM-защиту при отключении от Интернета,
    • полный контроль над размером окна при работе вне браузера.

Для trusted-приложений (в дополнение к предыдущему):

  • чтение и запись файлов в папках с документами, музыкой, картинками и видео (папки «Мои» в Windows, эквиваленты — в Mac OS),
  • взаимодействие с COM-объектами (интеграция с Office, доступ к USB и другие возможности) через ComAutomationFactory API,
  • управление доступом через групповые политики в организации,
  • полный доступ к клавиатуре в полно­экранном режиме,
  • кроссдоменное взаимодействие без дополнительных разрешений.

Сравнение Windows Presentation Foundation и Silverlight

Как мы уже отметили, WPF и Silverlight — это две схожие технологии, направленные на создание интерфейсов Windows- и веб­приложений соответственно. Несмотря на их схожесть, существует ряд различий, вызванных в первую очередь тем, что возможности платформы Windows нельзя реализовать полностью на уровне браузера. Тем не менее обе технологии базируются на языке разметки XAML, поддерживают схожую модель приложений, разработка которых доступна как из Visual Studio, так и из предмета обсуждения последующих статей данного цикла — Microsoft Expression Studio.

 

В начало В начало

КомпьютерПресс 5'2010

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует