Архив

Архив 8 Март 2010

Создание внебраузерных Silverlight приложений. Часть 1.

Введение

Как Вы, наверное, знаете, Silverlight приложения могут работать не только внутри, но и вне браузера (OOB, Out-of-Browser). При этом внебраузерные Silverlight приложения фактически устанавливаются на компьютер пользователя и запускаются с него, а не по сети, как в случае с традиционными Silverlight приложениями, что позволяет внебраузерным приложениям работать и в условиях отсутствия сетевого соединения. Ярлык такого приложения при установке располагаться в меню «Пуск» и/или на рабочем столе (всё зависит от выбора пользователя), оно отображается в диалоге установки и удаления программ операционной системы наравне с обычными Windows приложениями. Если же внебраузерное приложение ещё и является доверенным (trusted), то оно получает доступ к некоторым ресурсам компьютера за пределами традиционной для Silverlight приложений песочницы (sandbox). Например, доверенное приложение может обращаться к части файловой системы компьютера, а не только к изолированному хранилищу (isolated storage), сетевым ресурсам, не требуя обязательного наличия на сервере файла кросс доменной политики (cross domain policy file), а также доверенное внебраузерное Silverlight приложение может взаимодействовать с COM (Component Object Model) объектами, такими, как, например, объекты автоматизации Microsoft Office. И, конечно же, это далеко не полный список дополнительных возможностей доверенных внебраузерных приложений.

Также стоит сказать, что каждое Silverlight приложение может работать вне браузера, если это явным образом разрешил разработчик, поставив всего одну галочку в свойствах проекта в Visual Studio или написав несколько строк на XML, если Visual Studio по каким-то причинам не используется. Поставить галочку просто, но таким образом нельзя получить всех преимуществ работы вне браузера. Ведь для внебраузерных приложений доступны многие программные интерфейсы (API – Application programming interface), не доступные в браузере. Это и оповещения (notifications), и управление параметрами окна внебраузерного приложения, элементы управления WebBrowser и HTMLBrush, а также широчайшие возможности доверенных внебраузерных приложений, о которых упоминалось выше.


Silverlight клиент для Facebook

Многие web разработчики не любят создавать настольные приложения, в том числе и по причине трудности их обновления. Действительно, если мы имеем web приложение, то в большинстве случаев все пользователи работают с последней его версией. Более того, версия у всех одна и та же. В случае же с настольными приложениями мы получаем трудности не только с их обновлением, но ещё и с их установкой.

Внебраузерные Silverlight приложения – это попытка привнести достоинства web приложений в мир настольных. Silverlight практически полностью берёт на себя заботы по обновлению внебраузерных приложений, и во многих случаях разработчику задумываться об этом почти не надо. Требуется написать буквально одну строчку кода, а дальше всё происходит автоматически. В дополнение к обновлению, установку и удаление внебраузерных приложений также полностью берёт на себя платформа.

Надо отметить, что любые Silverlight приложения, в том числе внебраузерные, одинаково хорошо работают как на Windows, так и на MacOS X. При этом обе платформы официально поддерживаются компанией Microsoft и все возможности внебраузерных приложений доступны на каждой из них. Единственной зависимой от платформы возможностью является взаимодействие с COM объектами, которые присутствуют только в Windows.

Кроме того существует проект Moonlight, который обеспечивает работу Silverlight приложений на операционной системе Linux. Это проект с открытым исходным кодом, разрабатываемый компанией Novell при некоторой поддержке со стороны Microsoft. Наблюдается небольшое отставание Moonlight от официальной версии Silverlight, поэтому, если Вы хотите, чтобы Ваши приложения работали и на Linux тоже, не забудьте их протестировать на совместимость с Moonlight.

Читать далее…

Tags: ,