Главная » Silverlight » Приложения, выполняемые вне браузера

0

Как вы уже знаете, код каждого приложения Silverlight находится в файле ХАР. Надстройка браузера загружает файл ХАР с веб-сервера и выполняет его на клиентском компьютере. Начиная с этого момента снова обращаться к веб-серверу не обязательно. Весь код выполняется локально.

Таким образом, приложение Silverlight зависит от надстройки браузера. Однако оно не обязательно должно быть внедрено в веб-страницу. Фактически, если есть надеж­ный способ выполнить надстройку Silverlight вне браузера, должен также существовать способ выполнить приложение Silverlight без браузера. Разработчики Flash тоже имеют такую возможность, однако в Silverlight она реализована немного иначе. На рис. 6.5 по­казано приложение EightBall (см. главу 2), выполняемое вне браузера.

Рис. 6.5. Приложение EightBall, выполняемое в операционной системе

В первую очередь, необходимо понимать, что, хотя приложение Silverlight вы­полняется за пределами браузера, все же он неявно используется. Приложение скрывает присутствие браузера. Специальный инструмент sllauncher.exe (в опе­рационной системе Windows его можно найти в папке C:\Program Files\Microsoft Silverlight\3 . О . 407230) создает изолированное окно, хостирующее элемент управ­ления браузера. Окно браузера очищено от всех элементов управления (панелей ин­струментов, кнопок навигации, предпочтений и т.д.), остается лишь голая рамка. К сожалению, Silverlight не предоставляет способов управления начальными размерами и расположением окна. Доступ к параметрам окна sllauncher.exe не предоставлен.

Примечание. Приложения вне браузера могут работать на всех платформах, поддерживающих Silverlight, включая Windows и Мае.

Таким образом, отсутствие браузера — не более, чем иллюзия. Зачем же тогда нужен этот режим? Существует несколько веских причин его использования.

•       Доступ к рабочему столу. Приложение вне браузера должно быть установлено. В процессе установки загружается файл ХАР и добавляются ярлык на рабочий стол и пункт в меню Start (Пуск). Поэтому для запуска приложения пользователю не нужно активизировать браузер и вводить адрес URL.

•       Выполнение приложения в автономном режиме. Обычно доступ к приложе­нию Silverlight осуществляется посредством веб-страницы, расположенной в гло­бальной или локальной сети. В результате, пользователь не может выполнить приложение, если нет сетевого соединения. В то же время, после установки при­ложения вне браузера, его копия кешируется локально и сохраняется навсегда (естественно, пока пользователь не удалит его явно).

[1]    Поддержка непостоянных соединений. Эта причина использования режима вне браузера похожа на предыдущую, но представляет более распространенный сценарий. Многие пользователи (особенно применяющие портативные ноутбуки и беспроводное соединение с Интернетом) не имеют постоянного соединения. С помощью режима вне браузера (и средств проверки наличия соединения, см. главу 15) можно создать приложение, работоспособное как при наличии, так и при отсутствии соединения. Когда оно есть, приложение может обратиться в веб-службе, чтобы обновить данные и выполнить необходимые операции на сервере. Когда соединения нет, пользователь может продолжать работать с ним в автономном режиме.

Создатели Silverlight считают, что наиболее важен третий сценарий. Иными слова­ми, режим вне браузера — это способ создания приложений, удовлетворительно рабо­тающих с ненадежными или непостоянными сетевыми соединениями.

Примечание. Приложения, выполняющиеся вне браузера, обладают теми же возможностями, что и выполняющиеся в браузере. Однако между ними есть одно существенное отличие: начальное выделение дискового пространства. Каждое приложение Silverlight получает "во владение" тщательно изолированную область диска, в которой оно создает и хранит файлы (см. главу 18). Обычно приложение, выполняющееся в браузере, получает сначала 1 Мбайт дискового пространства (доступный объем может быть увеличен при явном запросе пользователя). В то же время приложение вне браузера получает значительно больший объем — 25 Мбайт, поэтому увеличивать доступное пространство нет необходимости почти никогда.

Ограничения приложений вне браузера

Важно понимать, для чего приложения вне браузера не предназначены. В первую очередь необходимо отметить, что они не являются конкурентами ни настольных приложений, ни приложений, выполняющихся в браузере. Они не пре­доставляют никаких новых или дополнительных средств по сравнению с упомянутыми двумя типами приложений. Приложение вне браузера ограничено теми же правилами безопасности, что и выполняющееся в браузере. Оно не поддерживает взаимодействие с рабочим столом (например, перетаскивание), не имеет доступа к файлам за пре­делами собственного изолированного хранилища (см. главу 18), не поддерживает локальные базы данных и не мо­жет взаимодействовать с другими приложениями. Даже не пытайтесь обойти эти ограничения, все щели тщатель­но законопачены.

По этим причинам приложения Silverlight, выполняющиеся вне браузера, не конкурируют с такими технологиями, как Adobe AIR, которая позволяет создавать средствами Flash приложения, похожие на настольные. Компания Microsoft умышленно ограничила возможности приложений Silverlight, выполняющихся вне браузера. Если вам нужна более мощная платформа создания настольных приложений, примените старшую сестру Silverlight — технологию WPF, ко­торая предоставляет огромное количество средств, отсутствующих в Silverlight и Flash. Единственный ее недостаток состоит лишь в том, что она жестко привязана к операционной системе Windows.

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии