Microsoft Silverlight — разрабатываем современные веб-приложения
Silverlight — сравнительно новая технология от Microsoft, прямой конкурент Macromedia Flash. Однако ее назначение выходит за рамки обычного применения "флешек". Silverlight не только "оживляет" веб-странички, но и позволяет создавать полноценные богатые различными возможностями пользовательские приложения. Речь идет о так называемых приложениях rich content, rich media. Причем новая технология дает возможность создавать их самостоятельно, используя средства визуальной разработки. В частности, комбинацию из Expression Studio 2 и Visual Studio 2008.
Expression Studio и Expression Design 2.0
Конечно, возникает вопрос, как создать в обычной Visual Studio "дизайнерское" приложение. Ответ прост. Схема работы над приложениями все больше приближается к принципу работы над веб-решениями. Есть участки работы дизайнера и программиста. Это упрощенно. Найдется место и архитектору баз данных, и специалисту по юзабилити. Итак, первым на конвейере стоит дизайнер. Для его работы предназначена студия Microsoft Expression Studio 2, которая включает в себя такие приложения: Blend, Design, Web, Encoder и Media. Создание дизайна пользовательского приложения производится в приложениях Expression Designer и Expression Blend. Эти инструменты содержат функционал визуального моделирования. Дизайнер создает графические объекты, включая 3D, задает их свойства, динамику перемещения. Каждый созданный объект описывается в создаваемом xml-файле и в дальнейшем доступен уже программисту как программный объект. Такими элементами могут быть и стандартные разработки, например Live Maps.
Expression Blend 2.0
Так, Expression Designer очень похож по своему функционалу и внешнему виду на продвинутый графический редактор, в котором представлены разнообразные функции управления шрифтами, цветом, заливкой, эффекты создания теней и переходов и многое другое. Однако в отличие от традиционных графических инструментов Designer позволяет создавать разнообразные анимации, световые эффекты. Что очень ценно и полезно — эти объекты также представлены в виде xml-структуры, и в дальнейшем к ним можно получить программный доступ средствами Visual Studio 2008. Например, на рис. 2 представлен фрагмент редактора Expression Designer с панелью инструментов для создания динамических эффектов.
Expression Blend — это основанный на WPF (Windows Presentation Foundation) инструмент для создания динамических эффектов и переходов. Разнообразные средства разметки и привязки позволяют сочетать векторные и точечные изображения, видео- и аудиозаписи, форматированный текст, элементы управления и контейнеры, а также создавать настраиваемые векторные элементы. Существенным достоинством Expression Blend являются лаптивные пакеты и функции привязки в режиме реального времени. Адаптивные элементы можно создавать самостоятельно и использовать стандартные. В их числе: разделители сетки, полотна для рисования, деревья, расширители, ползунки, поля форматированного текста, вкладки и панели инструментов. Отдельно стоит упомянуть очень удобные средства автоматического масштабирования, которые позволяют создавать удобные для пользователей интерфейсы. Также очень удобно использование временной шкалы, которая основана на реальном времени, а не просто на формировании последовательности кадров. Причем предусмотрена возможность одновременного использования не только одной, а сразу нескольких временных шкал. Это позволяет формировать самые непредсказуемые и при этом управляемые визуальные эффекты.
Результат редактирования сохраняется в виде XAML-файла. Соответственно, в редакторе Blend возможно как комбинированное редактирование кода, так и редактирование в визуальном или совмещенном режимах. Результат может использоваться непосредственно в Visual Studio 2008.
Expression Media — среда управления мультимедийными объектами
Expression Media позволяет создавать наглядные базы данных мультимедиа, называемые каталогами. Объем одного каталога составляет до 128 тысяч файлов. Мультимедийный контент можно сохранять там, где необходимо: в общих папках, на компакт-дисках, на жестких или на DVD-дисках. Параллельно реализован механизм автономной работы в отсутствие подключения к внешним источникам данных.
Основные функциональные возможности Expression Media направлены на создание механизмов упорядочивания графических и медийных файлов, реализацию структурирования и поиска информации. Режим организации и структурирования собственной медиаинформации разработан на основе привычного и удобного механизма drag-n-drop. Здесь же предусмотрена система тегов классификации с поддержкой режима автоматической синхронизации. Соответственно, поиск и сортировка мультимедийных файлов могут проводиться по любому критерию на выбор пользователя.
Режим редактирования и сравнения предназначен для подготовки графических, аудио- и видеообъектов к размещению в веб-решении. На самом деле это очень неплохой графический редактор, который помимо ставших стандартными функций редактирования графики и медиа позволяет также устанавливать метаинформацию в форматах EXIF, IPTC и XMP. Редактор дает разработчику возможость создания шаблонов (templates) и их последующего применения и к новым, и к уже существующим объектам, а также их совместное использование.
Интегрированные средства автоматизации обеспечивают широкий набор функций от автоматического архивирования до создания скриптов и преобразования форматов.
В завершение обзора средств подготовки контента от Expression Studio расскажем об Expression Encoder — мощном инструменте на основе технологии Silverlight, предназначенном для создания видеоконтента, настроек проигрывателя, интеграции объектов, созданных в других приложениях. Самой приятной особенностью Encoder, на мой взгляд, стала возможность редактирования видеоклипов по временной шкале. В отличие от покадрового редактирования, которое наиболее распространено, повременной режим позволяет более просто синхронизировать изображение и звук, задавать интервал воспроизведения. Импорт возможен практически из любых форматов: AVI, QuickTime, MPEG и любые другие, поддерживающие кодек DirectShow. Видео обрабатывается и сохраняется в форматах VC-1 и H.264 и в конечном итоге сохраняется в виде компонента Silverlight. XAML, содержащий параметры видеоклипа, как обычно, может редактироваться, например, средставми Visual Studio 2005/2008. Есть возможность создавать собственные клипы на основе объектов, разработанных в приложениях Blend и Media.
Доступ к файлам клипов и их поиск производятся средствами Expression Media. В качестве дополнительной маркировки можно использовать режим "водяных знаков" поверх собственно изображения.
Разработка веб-решений в Expression Web 2.0 и Visual Studio 2008
Теперь перейдем к обзору средств создания веб-ресурсов с использованием объектов Silverlight. Expression Web 2.0 — инструмент начального уровня, о бета-версии которого мы рассказывали в одном из предыдущих обзоров. Релизная версия представляет полный набор инструментов для веб-разработчика, включая Intellisense для xml, html, xhtml, css, javascript, asp.net. Однако в рамках нашего обзора мы рассмотрим только работу с объектами Silverlight. Для представления данных достаточно просто перетащить подготовленный xml-файл (например, тот же XAML-объект) и применить к нему xslt-преобразование. Задействованный объект тем самым встраивается в решение и будет запускаться после его сборки. Это простейший способ подключения Silverlight-объектов.
Использование Microsoft Silverlight предполагает установку SDK. Она производится бесплатно непосредственно с ресурса Microsoft. Инструменты могут устанавливаться в любой версии Visual Studio 2008 и Expression Web. SDK SilverLight включает в себя клиентские и серверные библиотеки, подключаемые к Visual Studio 2008, в частности Visual Web Developer. Клиентские и серверные компоненты (User and Server controls) размещаются в панели инструментов Visual Studio или Web Expression и используются наряду со стандартными элементами управления при создании веб-приложений.
Дополнительно развертывается набор компонентов отладки — Tools, включающий в себя набор библиотек dll и клиентских файлов JavaScript.
Некоторое время тому назад мы рассказывали о новом сервисе Popfly. Суть его состоит в том, что Microsoft вывел технологию Silverlight в режим онлайн-сервиса. Popfly Mashups — это объекты Silverlight, которые реализуют простые функции в самых различных областях и доступны непосредственно с сайта Popfly.com. Машапы, созданные в онлайн-сервисе, можно интегрировать и в приложения, создаваемые в Visual Studio. Встраивание Popfly в виде пункта меню и окна Explorer в Visual Studio 2008 (рис. 5) позволяет разработчику осуществлять доступ к машапам непосредственно из окна своего проекта; подгружать как свои проекты, так и иных разработчиков, отслеживать обновления, получать консультации на форуме.
В нашем обзоре представлена лишь основная и наиболее значимая информация о создании мультимедийных интерактивных веб-решений в формате Web 2.0 на основе Mirosoft Silverlight. В целом представленная технология — это очень мощный современный инструмент разработки веб-приложений, обладающих активным функционалом, привлекательных и удобных для обычного пользователя. Различные инструменты, о которых рассказано в обзоре, ориентированы на специалистов из числа команды разработчков: дизайнеров, веб-программистов, верстальщиков. В комплексе они обеспечивают единый цикл разработки, сопровождения и обновления веб-решений.