С выпуском версии 3 инструмента Silverlight платформа разработки Microsoft приближается к Adobe Flash. Однако Silverlight все еще отстает от Flash с точки зрения возможностей создания насыщенных интернет-приложений (Rich Internet Application, RIA). Проведя тестирование предвыпускной версии инструмента Expression Blend, применяемого для написания Silverlight-приложений, лаборатория eWeek Labs нашла его надежным.
Выпуская Silverlight 3, компания Microsoft продолжает попытки догнать главного конкурента этого продукта — систему Flash фирмы Adobe. Отчасти это стремление увенчалось успехом, поскольку в Silverlight появилось много новых функций, которых не хватало, чтобы сравняться с Flash. Тем не менее Silverlight по-прежнему отстает не только от Flash, но и от других продуктов Adobe, таких как AIR и Flex, с точки зрения создания RIA.
Более того, платформа Silverlight все еще значительно менее популярна на рынке, чем Flash, поэтому разработчики, стремящиеся привлечь пользователей, предпочитают Flash. (На это, в частности, указывает то, что Microsoft сама использует Flash для реализации видеофункции в новой поисковой службе Bing).
Тем не менее Silverlight 3 — многообещающий игрок рынка платформ разработки RIA, поскольку эта версия — значительный шаг вперед по сравнению с предыдущей, например с точки зрения создания кода для изображений высокой четкости и способности функционировать вне браузера. И хотя система Silverlight еще не догнала продукты Adobe (или в данном случае Java, AJAX или HTML 5), она является новым мощным средством для разработки программ на платформе Microsoft
Технология Moonlight, реализованная в рамках свободного проекта Mono, обеспечивает функциональность Silverlight пользователям Linux, хотя у Moonlight возможности уже, чем у Silverlight.
Я загрузил Silverlight на компьютеры под управлением Windows и MacOS, а затем проверил это ПО с помощью эталонных приложений, свободно доступного контента и приложений Silverlight, а также моего собственного контента.
С точки зрения пользователей, самой значительной новинкой Silverlight 3 является способность исполнять приложения вне браузера и в режиме офлайн. Эта функция, которая должна быть активизирована разработчиком, позволяет пользователям запускать Silverlight-приложения как обычные настольные программы, инициировать их при включении компьютера и обращаться с их помощью в локальную память.
При тестировании эта функция работала стабильно, но не таком уровне, как другие настольные платформы, например Adobe AIR. В некотором смысле ее работа напоминала Mozilla Prism или Google Gears, хотя и с более широкими мультимедийными возможностями.
Задать режим приложения для запуска вне браузера оказалось легко. Я просто выбрал в меню Project команду Enable Applications Outside of Browser. Пользователи приложения затем могут выбрать режим исполнения вне браузера и создать пиктограммы на “Рабочем столе” и в меню “Пуск”.
Еще одна удачная новинка Silverlight 3 — Smooth Streaming. Она выполняет доставку контента через Web-сервер Internet Information Services (IIS), который входит в Windows Server 2008, позволяя не только передавать контент, но и оперативно настраивать его качество и использовать пропускную способность в зависимости от текущего состояния линий связи.
В области мультимедиа Silverlight 3, как и Flash, поддерживает стандарты H.264 и AAC, которые обеспечивают в Интернете высокое качество видео и аудио соответственно. Кроме того, Silverlight 3 включает несколько дополнительных функций для интерактивных и 3D-приложений, предоставляя пользователям широкие возможности манипулирования и управления контентом.
Традиционный метод создания Silverlight-приложений заключался в использовании Microsoft Expression Blend для насыщенных интернет-приложений и Visual Studio для выполнения заданий разработки. Этот метод пока так и остался наилучшим, однако, как показало наше тестирование, с помощью инструмента Expression Blend 3, вышедшего в августе, можно построить Silverlight-приложение прямо в этой среде разработки.
Одна из самых интересных новых функций Expression Blend 3 называется SketchFlow. Она служит для разработки прототипов Silverlight-приложений, хотя созданные с ее помощью прототипы больше напоминают черновой набросок, чем классический прототип программы.
Идея, которая, по-видимому, позаимствована из книги “Sketching User Experiences” сотрудника Microsoft Билла Бакстона, заключается в том, что черновые наброски в большей степени способствуют дискуссиям и коллективной работе, чем зрелые прототипы, напоминающие законченный продукт.
С помощью SketchFlow я задал последовательность заданий (workflow) для приложения и затем создал образец интерфейса, используя средства буксировки (drag and drop), которые выглядели так, будто были нарисованы карандашом. По-моему, все работало хорошо, хотя приверженцы традиционных методов имеют возможность строить прототипы, которые не так похожи на черновики.
Инструмент SketchFlow можно также экспортировать в виде Web-приложения, а затем коллективно использовать вместе с другими участниками команды для комментирования. Таким образом, разработчики могут совместно трудиться над прототипом, добавляя замечания и внося изменения.
Тех, кто хочет создавать приложения только с помощью Expression Blend или допускает использование Visual Studio, но не желает переключаться между двумя средами для внесения небольших изменений, должно порадовать появление в Expression Blend усовершенствованного редактора кода.
С помощью этого редактора кода, а также традиционного средства редактирования XAML-кода можно непосредственно в Expression Blend редактировать программы, написанные на C# и Visual Basic. Кроме того, редактор обеспечивает стандартную функцию Microsoft ItelliSense для автоматической компиляции кода.
Другая новинка Expression Blend 3 (уже доступная в инструментарии Adobe Creative Suite) служит для задания образцов данных, необходимых при построении и тестировании основанных на данных Silverlight-приложений. С помощью этой функции я смог прямо в Expression Blend вручную указать точки ввода данных или использовать XML-файл в качестве источника данных для моего приложения.
Функция Behaviour в Expression Blend 3 позволяет создавать, использовать и повторно применять в среде разработки куски кода, чтобы не писать один и тот же код еще раз. В результате, например, можно перетащить на проектную плоскость кнопку Play для проигрывания мультимедиа.
Следует также учесть, что львиная доля насыщенного контента создается с помощью инструментов Adobe, таких как Photoshop и Illustrator. Поэтому важно, что Expression Blend 3 позволяет напрямую импортировать файлы из этих программ и использовать их отдельные элементы и слои.