Разработка гаджета для рабочего стола с помощью технологии Silverlight

Определение понятия термина "виджет". Особенности строения гаджета рабочего стола операционной системы Windows. Механизмы программирования поведения приложения в браузере. Особенности архитектуры приложения. Сравнение Silverlight c другими технологиями.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.09.2015
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Виджеты рабочего стола и технология Silverlight

1.1 Определение понятия "виджет"

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

1.3 Сравнение Silverlight c другими технологиями

2. Создание гаджетов рабочего стола с помощью технологии Silverlight

2.1 Инструментальные средства и технологии используемые при создании гаджета

2.2 Microsoft Visual Studio

2.3 Устройство гаджета в Windows на примере создания простейшего гаджета рабочего стола

3. Разработка гаджета рабочего стола с использованием технологии Silverlight

3.1 Создание Silverlight приложения для гаджета "Shooter"

3.2 Общая идея игры

Заключение

Список литературы

Введение

Сегодня, сложно найти человека, который не имеет компьютер, ноутбук, планшет или смартфон. Пожалуй, хотя бы одно из перечисленных устройств есть у каждого взрослого человека. Но основная масса пользователей используют компьютер на потребительском уровне из-за низкой компьютерной грамотности. Именно поэтому возникает необходимость упрощения пользовательского интерфейса. По этому пути пошли ведущие производители программного обеспечения, такие как Apple, реализовав простые интерфейсы в своих операционных системах, как на настольных компьютерах, так и смартфонах. В данном направлении движется и компания Microsoft, выпустив новую операционную систему Windows 8, где приложения с интерфейсом modern просты для освоения, человеком с низким уровнем компетентности. Кроме этого, приложения спроектированы таким образом, что они реализуют только одну, понятную пользователю функцию. Первым шагом к появлению этого интерфейса было появление новой функции - "гаджеты рабочего стола" в операционной системе Windows Vista. Гаджеты рабочего стола характеризуются тем, что выполняют только одну функцию, как и в приложениях modern. Т.о, изучение устройства гаджетов является актуальной задачей в свете массового распространения мобильных устройств, где успешно реализован этот принцип.

Объект исследования: технология Silverlight.

Предмет исследования: изучение возможностей технологии Silverlight для создания гаджетов рабочего стола.

Цель исследования: разработать гаджет рабочего стола с помощью технологии Silverlight.

Задачи исследования:

Изучить литературу по теме исследования.

Определить круг задач решаемых при помощи гаджетов.

Изучить особенности строения гаджета рабочего стола операционной системы Windows Vista/7. Создание простейшего гаджета.

Изучить особенности архитектуры приложения Silverlight.

Познакомиться с основными средствами и способами создания гаджетов рабочего стола.

Создать гаджет рабочего стола для операционной системы Windows 7.

1. Виджеты рабочего стола и технология Silverlight

1.1 Определение понятия "виджет"

Термин "виджет" употребляется примерно с 1920-х годов в американском английском для обозначения простой, но необходимой вещи, маленького изделия, название которого временно забыто говорящим. Online Etymology Dictionary предполагает, что на его форму могло повлиять слово англ. gadget или же оно происходит от англ. which it -- "этот, как его". Другие словари предполагают словослияние "window gadget" (букв. "оконное приспособление"), также произошедшее в начале двадцатого века.

Слово "виджет" также используется и как название класса вспомогательных мини-программ -- графических модулей, которые размещаются в рабочем пространстве соответствующей родительской программы и служат для украшения рабочего пространства, развлечения, решения отдельных рабочих задач или быстрого получения информации из интернета без помощи веб-браузера. Виджеты можно разделить на группы по среде, в которой они работают. Рассмотрим два вида: веб-виджеты и виджеты для рабочего стола.

Веб-виджет - это кусок кода, который может быть встроен пользователем в любую HTML страницу и использоваться без значительной модификации. При создании веб-виджетов используются технологии DHTML, Silverlight, JavaScript и Adobe Flash. Веб-виджеты также иногда называют гаджетами, информерами, а на английском gadget, badge, module, webjit, capsule, snippet, mini или даже flake.

Веб-виджеты можно условно разделить на интерактивные - такие, с которыми пользователь может как-то взаимодействовать: например, отправлять SMS или искать маршрут на карте и неинтерактивные - такие, содержимое и работа которых не зависит от действий пользователя, просматривающего страницу. Неинтерактивные виджеты ещё часто называют информерами.

Информер - это неинтерактивный веб-виджет, т.е. такой, контент которого не зависит от действий пользователя. Классический пример информера - погодный информер [2].

Виджеты рабочего стола - это небольшие инструменты (программы), выполняющие одну определенную функцию и требующие для своей работы специальной среды -- виджет-движка (widget engine). Они могут показывать на рабочем столе вашего компьютера последние новости, слайд-шоу из фотографий, позволять делать заметки на виртуальных стикерах, вести учёт рабочего времени и многое другое. При создании виджетов для рабочего стола используются самые разные технологии: от HTML и JavaScript до С++. Очень часто десктоп-виджеты используются для того чтобы показывать на рабочем столе информацию с какого-нибудь сайта (например, тот же прогноз погоды) без помощи браузера. Внешний вид виджетов и технологии реализации могут быть самым разным, но их объединяют относительная простота разработки и использования, привлекательный дизайн и фокусирование на одной функции [5].

Исходя из этого, можно выделить несколько типов задач, решаемых при помощи виджетов:

Быстрый доступ и получение информации из сети интернет (погода, курсы валют, заголовки новостей и т.д)

Быстрый доступ к службам (быстрый доступ к услугам социальных сетей)

Обслуживание компьютера (доступ и использование виртуальных дисков)

Украшение рабочего пространства, развлечение.

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

Основная функциональность Silverlight обеспечивается подключаемым модулем браузера. Этот модуль формирует визуальное представление XAML и обеспечивает модель программирования, которая может основываться либо на JavaScript, либо на .NET Framework и общеязыковой среде выполнения (common language runtime, CLR). На рисунке представлена архитектура, которая поддерживает это.

Основным механизмом программирования поведения приложения Silverligth 1.0 в браузере является прикладной программный интерфейс application programming interface (API) объектной модели документов (Document Object Model (DOM) JavaScript. Он позволяет перехватывать пользовательские события, возникающие в приложении (такие как перемещения мыши или щелчки определенного элемента), и вызывать код, определяющий реакцию на них. С помощью методов JavaScript DOM можно манипулировать элементами XAML, например, управлять воспроизведением мультимедиа или анимацией. Для создания еще более насыщенного и функционального интерфейса доступны все возможности .NET Framework CLR. Помимо того, что можно сделать в JavaScript, данная возможность предлагает множество пространств имен и элементов управления, поставляемых как часть .NET Framework, что позволяет делать вещи, которые было очень сложно, или вообще невозможно, реализовать в JavaScript. Например, доступ к данным с помощью ADO.NET и LINQ, обмен информацией с Веб-сервисами, создание и использование пользовательских элементов управления и т.д. Кроме того, среда формирования представления поставляется вместе с компонентами, необходимыми для обеспечения возможности воспроизведения в браузере файлов таких форматов, как H264, Windows Media Video (WMV), Windows Media Audio (WMA) и MP3, без всяких внешних зависимостей. Так, например, пользователям Macintosh не нужен проигрыватель Windows Media Player для воспроизведения WMV-содержимого, достаточно одного Silverlight. Основой всей среды формирования представления является код представления, и он управляет всем процессом визуализации. Все это встроено в подключаемый модуль браузера, поддерживающий основные браузеры Windows и Macintosh [6, 7].

На рисунке представлена архитектура простого приложения, выполняющегося в браузере с использованием Silverlight.

В основе выполняющегося в браузере приложения обычно лежит HTML. Эта разметка содержит вызовы для создания экземпляров подключаемого модуля Silverlight. При взаимодействии с приложением Silverlight пользователи генерируют события, которые могут быть обработаны функциями JavaScript или .NET Framework. В свою очередь, код программы может вызывать методы элементов содержимого Silverlight для управления ими, добавления нового или удаления существующего содержимого. Наконец, подключаемый модуль может читать и формировать визуальное представление XAML. Сам XAML может быть встроен в страницу, существовать как внешний статический файл или как динамический XAML, возвращаемый сервером[6, 7].

1.3 Сравнение Silverlight c другими технологиями Silverlight и Flash

В настоящее время самая успешная и популярная надстройка браузера -- Adobe Flash -- установлена в более чем 90% браузеров по всему миру. Технология Flash имеет долгую историю -- более десяти лет. Изначально Flash была простым инструментом добавления анимированной графики, но со временем она постепенно превратилась в мощную платформу разработки интерактивного содержимого. Для разработчиков .NET создание веб-сайтов с использованием содержимого Flash выглядит вполне естественным. Однако для Flash нужны отдельные инструменты разработки -- совершенно другой язык программирования -- ActionScript и другая среда программирования -- Flex. Хуже всего то, что не существует простых способов интеграции содержимого Flash с серверным кодом .NET. В частности, для обращения объекта Flash к компоненту .NET потребуется приложить немалые усилия. Использование серверного кода .NET для вывода содержимого Flash: например, для создания элемента управления ASP.NET, который манипулирует содержимым Flash -- еще более тяжелая задача [12].

По сравнению с Flash, Silverlight существенно облегчает манипулирование содержимым .NET. Главная цель Silverlight -- обеспечить создание приложений, столь же мощных и кроссплатформенных, как и Flash, на основе первоклассной платформы программирования .NET. Благодаря этому разработчики могут создавать клиентский код Silverlight на том же языке C# или VB, что и серверный код.

Кроме того, разработчики могут применять в клиентском коде Silverlight те же абстракции, что и в серверном коде, включая потоки ввода вывода, элементы управления, коллекции, обобщенные объекты и средства LINQ.

Silverlight и HTML5

Когда создавалась технология Silverlight, предполагалось, что ее главным назначением будет разработки мощных веб-страниц, а ее главным конкурентом -- технология Adobe Flash. Однако после выпуска нескольких версий Silverlight мир изменился. Приложения Adobe Flash по прежнему поддерживаются практически каждым настольным компьютером, но они оказались исключенными из таких популярных продуктов Apple, как iPhone и iPad. В результате ниша мобильных устройств стала тяготеть к другим решениям, таким как одноплатформенные специализированные приложения -- выполняющиеся только в одной операционной системе и HTML5. На данный момент все согласны с тем, что HTML5 -- это будущее Интернета (но не сейчас, а когда нибудь потом, причем когда именно -- неизвестно). Однако средства, обещаемые платформой HTML5 в неопределенном будущем, уже сейчас реализованы в технологиях Flash и Silverlight. К тому же Flash и Silverlight предоставляют много дополнительных средств. Для некоторых приложений эти дополнительные средства не очень нужны. Без сомнения, позиции HTML5 со временем будут усиливаться. Но до того времени разработчики вынуждены выбирать между средствами, которые поддерживаются уже сейчас -- Silverlight и Flash, но никогда не будут поддерживаться мобильными устройствами, и средствами, которые не поддерживаются сейчас, но в будущем будут поддерживаться всеми устройствами, включая мобильные. В последнем случае разработчик предпочтет HTML5. Эта дилемма выбора между мощными и доступными средствами. Технология Silverlight относится к мощным средствам, а HTML5 -- к доступным, потому что сейчас она поддерживается всеми настольными браузерами, но не всеми мобильными устройствами [13].

В связи с указанными тенденциями многие разработчики Silverlight не уверенны в том, что этой технологии уготовано место в будущем Интернета. Поскольку в данный момент будущее довольно неопределенное, учитывайте следующие факторы.

Реализация и поддержка HTML5 еще не завершены. В частности, в Internet Explorer поддерживаются не все средства HTML5. В IE 10 некоторые средства HTML5 были обещаны, но так и не появились. Многие средства доступны в IE 9, а в IE 8 средств HTML5 почти нет. Это очень плохо, потому что IE 8 --все еще самый лучший браузер для операционной системы Windows XP, которая и не думает уходить со сцены (она по прежнему установлена на большинстве настольных компьютеров). По этим причинам HTML5 остается менее поддерживаемой технологией, чем Silverlight, и данная ситуация не изменится еще как минимум в течение нескольких лет.

В Silverlight есть средства, которых нет в HTML5. Даже браузеры, полностью поддерживающие HTML5, далеко отстают от Silverlight в некоторых ключевых областях. Они не предоставляют мощные средства потокового видео, аппаратного ускорения графики, вызова компонентов Windows, доступа к файлам, запуска приложений вне браузера, работы в сети и т.д. Тяжело себе представить, что платформа HTML5 когда-нибудь сможет состязаться с некоторыми специальными средствами Silverlight, такими как элементы PivotViewer, объединяющие задачи анимации, фильтрации данных и масштабирования изображений в одном пакете, удобном для использования.

Silverlight базируется на высокоуровневых средствах API. Можно создавать приложения, не пользуясь такими средствами, как связывание данных, шаблоны и стили, но они позволяют это делать быстро и эффективно. Многие задачи, которые можно решить в HTML5, требуют жесткой дисциплины и тщательного планирования. Их можно решать с помощью JavaScript, но его синтаксис не поддерживает строгую типизацию, в результате чего создавать на JavaScript крупные приложения практически невозможно. Кроме того, на JavaScript все процедуры анимации нужно писать вручную, а поддержка многопоточности чрезвычайно неуклюжая, что не позволяет выполнять сложные задачи в фоновом режиме [14].

Silverlight поддерживается высокоуровневыми инструментами разработки. Благодаря Visual Studio разрабатывать приложения Silverlight так же легко, как обычные настольные приложения. Программа Expression Blend существенно облегчает создание сложных пользовательских интерфейсов, содержащих мощные графические эффекты и анимацию.

Silverlight легко интегрируется с ASP.NET. В частности, Silverlight позволяет передавать запросы к серверной базе данных посредством веб-службы. Благодаря этому многие эксперты считают, что даже после того, как HTML5 завоюет Интернет, Silverlight останется предпочтительной технологией для закрытых корпоративных сетей. Будущее платформы Silverlight сейчас довольно туманное. Она может остаться предпочтительной платформой для разработчиков корпоративных приложений на основе .NET или постепенно превратиться в узкопрофильный инструмент создания мощных компьютерных игр и видеоплееров. Одно можно сказать определенно:Silverlight никогда не заменит HTML в качестве главного языка создания традиционных открытых веб-сайтов. Впрочем, это никогда и не планировалось.

Silverlight и Metro/Windows 8

Когда компания Microsoft объявила о создании Windows 8 на основе новой модели программирования мощных клиентских приложений -- Metro, развитие платформы Silverlight приостановилось.

Технология Metro предназначена для облегчения создания приложений совершенно другого типа: легковесных, ориентированных на сенсорные экраны и интенсивный обмен данными. Эти приложения предназначены для будущих поколений планшетных компьютеров на базе Windows 8. Технология Metro, как и ее ближайшая родственница WPF конкурирует с платформой iPad. Приложения Metro не могут выполняться на платформах, не принадлежащих Microsoft, и даже более того -- на любой версии Windows, отличной от Windows 8. По этой причине технология Metro не является конкурентом и не представляет интереса для разработчиков Silverlight [14].

В будущем ниша Silverlight может сузиться. Она как бы оказалась зажатой между кроссплатформенными приложениями HTML5, постепенно завоевывающими все большую долю рынка, и приложениями Metro и iPad для мобильных устройств.

Однако пока что Silverlight занимает обширное пространство между этими технологиями.

Silverlight и WPF

Один из наиболее интересных аспектов технологии Silverlight заключается в том, что она позаимствовала у .NET мощную модель WPF, используемую для создания сложных клиентских интерфейсов. Технология WPF предназначена для создания сложных приложений Windows. Средства WPF не только упрощают процесс разработки благодаря удобным высокоуровневым средствам, но и обеспечивают более высокую производительность благодаря выводу любого содержимого непосредственно через конвейер DirectX. Очевидно, что Silverlight не может дублировать все средства WPF, поскольку многие из них зависят от возможностей операционной системы, включая специфичные для Windows драйверы и средства DirectX [4].

И все же, вместо того чтобы изобретать для клиентской стороны совершенно новый набор элементов управления и классов, разработчики Silverlight применили подмножество модели WPF. Если у вас есть опыт работы с WPF, вы будете удивлены тем, как сильно Silverlight похожа на свою "старшую сестру". Ниже перечислены общие особенности:

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

Silverlight позаимствовала у WPF многие базовые элементы управления, систему стилизации (для повторного использования и унификации форматов) и механизм шаблонов (для изменения внешнего вида стандартных элементов управления).

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

Рабочая среда Silverlight предоставляет декларативную модель анимации, основанную на последовательности раскадровок и работающую так же, как и анимационная модель WPF.

Для воспроизведения аудио и видео файлов используется класс MediaElement, как и в WPF.

2. Создание гаджетов рабочего стола с помощью технологии Silverlight

2.1 Инструментальные средства и технологии используемые при создании гаджета

XAML - это язык разметки на базе XML, используемый для определения визуальных элементов приложения. К ним относятся UI, графические элементы, анимации, мультимедиа, элементы управления и пр.

XAML был представлен Microsoft для Windows Presentation Foundation (WPF), ранее называемом Avalon, который является технологией, ориентированной на выполнение на клиентском компьютере, и частью .NET Framework 3.0 и последующих версий. Как обсуждалось ранее, он разработан с целью заполнения технологической пропасти между дизайнерами и разработчиками при создании приложений [4].

До появления XAML дизайнер Web-приложений создавал дизайн, используя какой-то определенный набор инструментов и хорошо знакомую ему технологию. Затем разработчик брал то, что сделал дизайнер, и интерпретировал это с помощью другой технологии по своему выбору.

Трансформировать то, что было создано дизайнером, без проблем и правильно получалось не всегда, и разработчикам приходилось вносить множество изменений, которые подчас нарушали дизайн. С Silverlight дизайнер может с помощью определенных инструментов изобразить дизайн в виде XAML, передать этот XAML разработчику, который, в свою очередь, может наполнить его функциональностью при помощи кода и развернуть[9].

Расширяемый язык разметки приложений (Extensible Application Markup Language, XAML) - это ядро приложения Silverlight. Он используется для определения графических ресурсов, взаимодействий, анимаций и временных шкал. XAML основывается на Расширяемом языке разметки (Extensible Markup Language, XML), поэтому все описывается в текстовом формате с использованием атрибутов для объявления свойств, методов и событий.[1]

Microsoft Expression Studio - это современный надежный набор инструментов для дизайнеров, позволяющий им создавать артефакты, которые затем могут быть включены разработчиками при работе с пакетом инструментов Microsoft Visual Studio [10].

В пакет инструментов Expression Studio входит несколько продуктов:

Expression Web - Этот инструмент для Web-разработки обеспечивает возможность использовать HTML, DHTML, CSS и другие стандартные Web-технологии для проектирования, построения и управления Web-приложениями.

Expression Media - этот инструмент управления мультимедиа ресурсами позволяет каталогизировать и организовывать эти элементы, а также кодировать и перекодировать из формата в формат.

Expression Encoder - может использоваться для кодирования, улучшения и публикации видеосодержимого с использованием Silverlight.

Expression Design - это инструмент графического дизайна, с помощью которого можно создавать графические ресурсы приложений. Это мощный и сложный инструмент.

Expression Design позволяет сочетать векторные и растровые изображения для обеспечения абсолютной гибкости.

Expression Design поддерживает импорт множества форматов графических файлов, включая:

Adobe Illustrator--PDF-совместимые (*.ai)

Adobe Photoshop (*.psd)

Graphical Interchange Format (.gif)

Формат Portable Network Graphics (.png)

Растровые изображения (.bmp, .dib, .rle)

Форматы JPEG (.jpeg, .jpg, .jpe, jfif, .exif)

Windows Media Photos (.wdp, .hdp)

Tagged Image File Format (.tiff, .tif)

Ярлыки (.ico)

Поддерживается экспорт следующих типов изображений:

XAML Silverlight Canvas

XAML WPF Resource Dictionary

XAML WPF Canvas

Portable Document Format (.pdf)

Adobe Photoshop (.psd)

Tagged Image File Format (.tif, .tiff)

Форматы JPEG (.jpeg, .jpg)

Windows Bitmap (.bmp)

Формат Portable Network Graphics (.png)

Graphical Interchange Format (.gif)

Windows Media Photos (также известный как HD Photo) (.wdp)

Expression Blend

Expression Blend обладает возможностью создания приложений SilverLight. При запуске Expression Blend и создании нового проекта предлагается два типа Silverlight проектов: Этими двумя типами проектов Silverlight являются:

Silverlight Application. Эта опция обеспечивает создание шаблонного Silverlight-приложения, включающего все необходимое для начала разработки Silverlight-приложения. Шаблон включает необходимые сборки .NET, папку properties (свойства) с манифестом приложения, файл App.xaml с выделенным кодом, определяющим точки входа приложения, и базовую страницу с пустым холстом и файлом выделенного кода для него.

Silverlight Website. Аналогичен шаблону Silverlight-приложения, но сюда входит Web, содержащий HTML-страницу, в которую встраивается Silverlight-приложение, а также необходимые файлы JavaScript.

2.2 Microsoft Visual Studio

Visual Studio - это среда создания приложения со стороны разработчика. Имея Visual Studio и Silverlight можно разработать Silverlight-приложение. Созданный шаблоном базовый проект содержит ряд файлов, включая манифест приложения, XAML-файл приложения с файлом выделенного кода, страницу-пример с файлом выделенного кода, информационный файл сборки и некоторые ссылки [9].

Папки проекта содержащиеся в обозревателе решений: Первой папкой проекта является папка свойства, содержащая файлы свойств: AppManifest.xml и AssemblyInfo.cs. AppManifest.xml создается при компиляции проекта. Если проект имеет какие-либо зависимости во время выполнения, такие как внешние элементы управления, ссылки на них размещаются в этом файле. Файл Assemblyinfo.cs содержит метаданные, которые должны быть скомпилированы в вашу DLL, заданную в диалоговом окне Assembly Information. Код в этом файле можно редактировать вручную, но рекомендуется использовать для этого диалоговое окно.

Имя сборки по умолчанию присваивается имя проекта. Это имя будет использоваться при компиляции приложения в DLL.

Пространство имен по умолчанию по умолчанию также присваивается имя проекта. Если ссылаться на классы из этого проекта, их имена начинаются с имени этого пространства имен.

Начальный объект (Объект, с которого начинается запуск проекта) по умолчанию присваивается имя проекта с .App в конце. Это класс в приложении, который будет выполняться первым. Шаблон определяет этот класс в App.xaml и связанный с ним файл выделенного кода App.xaml.cs.

По щелчку кнопки Сведения о сборке будет вызван диалог Assembly Information. В нем можно определить метаданные своей сборки, включая Title (Название), Description (Описание), Copyright (Авторское право) и Trademark (Торговая марка). Вся эта информация хранится в файле AssemblyInfo.cs и компилируется в приложение Silverlight.

Папка References содержит ссылки на ряд сборок. Это основные сборки Silverlight, которые необходимы для запуска приложения.

mscorlib В сборку mscorlib входят основные типы, используемые приложениями Silverlight.

System В сборку system входят многие высокоуровневые типы, используемые для разработки и отладки приложений Silverlight, такие как компилятор и классы для отладки и диагностики.

System.Core Сборка System.Core включает основные элементы управления и классы Silverlight.

System.Net Сборка System.Net включает библиотеки .NET, необходимые для сетевого взаимодействия.

System.Xml В сборку System.Xml входят библиотеки Silverlight для обработки XML.

System.Windows В сборку System.Windows входят основные функциональные возможности Windows и Silverlight, включая элементы управления Silverlight.

System.Windows.Browser В сборку System.Windows.Browser входят библиотеки, используемые для взаимодействия с браузером.

2.3 Устройство гаджета в Windows на примере создания простейшего гаджета рабочего стола

Гаджет состоит из двух файлов: gadget.xml и test.html. Первый файл -- файл манифест, который включает в себя все настройки и информацию о гаджете, описанную на языке XML. Второй файл -- файл в котором описывается внешний вид гаджета, его основная функциональность, а так же поведение при определенных действиях пользователя. Дополнительно у гаджета могут быть файл настроек, файлы картинок и еще какие либо файлы, но основными являются эти два файла. Языком описания внешнего вида является HTML, а отвечающим за реакцию гаджета на действия пользователя может быть любой скриптовый язык. Все файлы помещаются в zip архив с расширением .gadget [16].

Ниже приведен код файла gadget.xml для нашего гаджета, а на скриншоте окна гаджетов показано, где и какой из XML тегов показывается на панели гаджетов [3,11].

<?xml version="1.0" encoding="utf-8" ?>

<gadget>

<name>Testgadget</name>

<namespace>Zotov P.A.</namespace>

<version>1.0.</version>

<author name="Зотов П.А.">

<info url="http://contoso.com" text="Vist our Web site" />

<logo src="logo.png" />

</author>

<copyright>&#0169; 2013</copyright>

<description>my first gadget</description>

<icons>

<icon width="200" height="200" src="icon.png" />

</icons>

<hosts>

<host name="sidebar">

<base type="HTML" apiVersion="1.0.0" src="test.html" />

<permissions>full</permissions>

<platform minPlatformVersion="0.3" />

</host>

</hosts>

</gadget>

Рассмотрим каждый из элементов файла:

Элемент xml - обязательный. Определяет версию XML и кодировку символов, используемых в документе. Наш манифест соотоветствует спецификации XML 1.0 и использует кодировку UTF-8 (юникод).

Элемент gadget - обязательный. У элемента <gadget> нет атрибутов, но он включает в себя элементы потомков, которые и определяют сам гаджет.

Обязательные элементы:

Элемент <name> представляет собой название гаджета, видимое пользователю. Его расположение на панели гаджетов показано на скриншоте.

Элемент <version> определяет версию гаджета. Во время установки гаджета это значение используется для сравнения двух гаджетов с одинаковыми именами. Если версии различаются, то пользователю дается право выбора версии.

Элемент <hosts> является контейнером для одного или более элементов <host>. Элемент потомок: <host> - обязательный. Элемент <host> идентифицирует гаджет как приложение. Его элементы потомки определяют поведение гаджета как специфического приложения.

Атрибуты:

Name - обязательный. Необходимое значение - sidebar

Элементы потомки:

Элемент <base> говорит Sidebar какой тип файла будет использоваться и обязательную информацией о версии API для управлением гаджета. Атрибуты:

Type - обязательный. Необходимое значение - HTML.

Src - обязательный. Указывает, какой файл должен загружать Sidebar для выполнения приложения.

apiVersion- обязательный. Необходимое значение -- 1.0.0

permissions - необходимое значение - Full

platform - элемент <platform> указывает боковой панели минимальную версию Windows, которая может управлять приложением.

Атрибуты:

minPlatformVersion - обязательный. Необходимое значение - 1.0

Необязательные элементы:

Author - Элемент <author> отображает информацию о разработчике гаджета. Атрибуты:

Name. Обязательный. Имя разработчика гаджета.

Элементы потомки:

<info> - необязательный. Элемент <info> отображает более подробную информацию о разработчике гаджета.

Атрибуты:

URL - обязательный. Ссылка на сайт разработчика.

<logo> - необязательный. Элемент <logo> определяет графический файл или иконку, ассоциированную с разработчиком, которая отображается рядом с именем автора на панели управления гаджетами.

Атрибуты:

Src - обязательный. Путь к графическому файлу.

<copyright>. Элемент <copyright> отображает лицензионные права, принадлежащие разработчику. Может содержать любую строку символов.

<description>. Элемент <description> отображает описание гаджета. Его значение показывается на панели гаджетов.

<icons>. Элемент <icons> определяет размер и графический файл иконки гаджета. Графическим файлом может быть любой файл, который поддерживается GDI+ 1.0.

Атрибуты:

Height - необязательный. Целое число которое указывает высоту в пикселях иконки графического файла.

Width - необязательный. Целое число которое указывает ширину в пикселях иконки графического файла.

Src - обязательный. Путь к графическому файлу.

Теперь создаем непосредственно файл test.html, отвечающий за функционал нашего гаджета. Для этого можно воспользоваться текстовым редактором "Блокнот", в котором напишем следующий html-код:

<!DOCTYPE html >

<head>

<title>SilverlightApplication1</title>

<style type="text/css">

html, body {

height:100px; width:300px; }

body {padding:0;margin:0; }

</style>

<script type="text/javascript" src="Silverlight.js"></script>

<script type="text/javascript">

</script>

</head>

<body>

Привет!

</body>

</html>

По сути это обычный файл веб-страницы. Разберем его основные блоки.

В теге <title> прописано название нашего гаджета, а в теге <style> стиль его отображения на экране. Для более сложных гаджетов можно загружать отдельный файл каскадной таблицы стилей.

В теге <script> прописаны скрипты для управления гаджетом. Они написаны на языке java-script. Скрипты так же можно подгружать из внешнего файла средствами HTML.

Для тестирования достаточно папку с гаджетом, в нашем случае тест.gadget скопировать по одному из двух путей:

%USERPROFILE%\AppData\Local\Microsoft\Windows Sidebar\Gadgets (для пользовательских гаджетов);

%SYSTEM_ROOT%\Program Files\Windows Sidebar\Gadgets (для глобальных гаджетов) [8].

После чего можно открывать панель гаджетов и если все было сделано корректно щелкаем дважды по иконке и видим наш гаджет на рабочем столе.

3. Разработка гаджета рабочего стола с использованием технологии Silverlight

3.1 Создание Silverlight приложения для гаджета "Shooter"

Гаджет (Sidebar Gadget) - название класса вспомогательных мини-программ - графических модулей, которые размещаются в рабочем пространстве родительской программы и служат для украшения рабочего пространства, развлечения, решения отдельных рабочих задач или быстрого получения информации из интернета без помощи Web-браузера.

Для создания гаджета необходимо установить программное обеспечение:

Microsoft Visual Studio 2010

Silverlight4 Tools

Silverlight4 SDK

После установки Microsoft Visual Studio, а также всех необходимых компонент можно создавать Silverlight-приложение.

Выбираем "Создать проект"

Откроется диалоговое окно Создания проекта. Следует убедиться, что в верхнем правом углу диалога выбран пункт .NET Framework4, и в списке Типы проекта выбираем Приложение Silverlight.

После нажатия кнопки "OK" Visual Studio запустит Мастер нового приложения Silverlight.

Этот мастер предлагает несколько вариантов создания и управления Silverlight-приложением. Все Silverlight-приложения создаются как пользовательские элементы управления, экземпляры которых затем могут быть созданы и размещены на странице. Принимаем настройки по умолчанию.

Мастер создаст новое решение Visual Studio, содержащее элемент управления Silverlight.

Теперь можно приступать непосредственно к разработке.

3.2 Общая идея игры

Создаем игровое поле и размещаем на нем спрайты - класс, содержащий базовые объекты игры: корабль, пришельцы, снаряды. Для каждого из них нам надо знать его координаты и как он выглядит. Координаты мы будем отслеживать с помощью Point, а свойство типа Canvas будем использовать для отображения XAML каждого объекта. Управлять движением спрайтов будем с помощью класса Vector. Начать надо с выбора клавиш, которыми будет управляться движение. Затем нам надо будет отслеживать их нажатие и выполнять соответствующие действия. В каждом цикле надо отслеживать, не столкнулась ли та или иная ракета с одним из пришельцев и не вылетела ли за пределы поля, не коснулась ли бомба нашего корабля и не исчезла ли с экрана, а также нет ли нового выстрела пришельцев по нашему кораблю.

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

Более подробное описание и программный код игры представлены в приложении [17].

Задачей является создание виджета, поэтому в папке, где хранится приложение открываем: Bin\Debug и содержимое этой папки добавляем в ZIP архив. У получившегося архива меняем расширение с .zip на .gadget. Гаджет готов. Выполняем его установку на компьютер и размещаем на рабочий стол.

виджет гаджет операционный программирование

Заключение

Silverlight является следующим шагом в направлении к улучшению взаимодествия с пользователем через веб. Цель Silverlight - обеспечить в веб-приложениях точность отображения и качество пользовательского интерфейса доступное в настольных приложениях, позволяя веб-разработчикам и дизайнерам реализовывать в создаваемых решениях особые требования заказчиков. Silverlight заполняет технологический вакуум между дизайнерами и разработчиками, предоставляя им общий формат для работы. Этот формат обрабатывается браузером и основывается на XML, что упрощает создание шаблонов и автоматическое формирование представления. Таким форматом является XAML - Extensible Application Markup Language (расширяемый язык разметки приложений).

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

В ходе исследования изучена литература описывающая технологию Silverlight. Большинство литературы представлено на английском языке, а именно Silverlight 4: Problem - Design - Solution, автор Nick Lecrenski, Microsoft Silverlight 4 Data and Services Cookbook от Gill Cleeren, Kevin Dockx. На русском языке представлена переведенная книга Лоуренса Морони - Введение в Microsoft® Silverlight™ 3. Найдено несколько блогов, российских популяризаторов Silverlight, в которых описываются новые введения в данной технологии. Особенно интересным является блог Михаила Черномордикова.

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

В исследовании были изучены особенности строения гаджета рабочего стола операционной системы Windows 7. Выявлено, что простейший гаджет это zip архив с расширением .gadget состоящий из двух файлов: файл манифест, который включает в себя все настройки и информацию о гаджете, описанную на языке XML, и файл в котором описывается внешний вид гаджета, его основная функциональность, а так же поведение при определенных действиях пользователя. Дополнительно у гаджета могут быть файл настроек, файлы картинок и др.

В ходе работы был создан гаджет рабочего стола "shooter". Особое внимание уделялось применению технологии Silverlight для создания гаджета рабочего стола, рассмотрен способ создания, приведен код получившегося приложения, таким образом цель исследования была достигнута.

Список литературы

1. Байдачный С.С. Silverlight 4: Создание насыщенных Web-приложений - М.: СОЛОН-ПРЕСС, 2010.

2. Блог Михаила Черномордикова [Электронный ресурс]. - Режим доступа: http://blogs.msdn.com/b/mikcher/

3. Журнал MSDN Magazine [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/ru-ru/magazine/cc163370.aspx

4. Крис Андерсон , Основы Windows Presentation Foundation. Пер. с англ. А. Слинкина -- М.: ДМКПресс, 2008.

5. Леонтьев В.П. Новейший самоучитель. Компьютер + интернет 2013. -М.: ОЛМА Медиа Групп, 2013.

6. Лоуренс Морони. Введение в Microsoft Silverlight 3. -- 2-е изд. -- R.: Microsoft Press, 2009.

7. Мэтью Мак-Дональд. Silverlight 3 с примерами на C# для профессионалов = Pro Silverlight 3 in C#. -- 3-е изд. -- М.: Вильямс, 2010.

8. Настройки гаджетов [Электронный ресурс]. - Режим доступа: http://volginartem.wordpress.com/2011/02/14

9. Ник Рендольф, Дэвид Гарднер, Майкл Минутилло, Крис Андерсон Visual Studio 2010 для профессионалов -- М.: "Диалектика", 2011.

10. Раздел "Microsoft Visual Studio" на сайте Майкрософт [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/ru-ru/vstudio/default.aspx

11. Разрабатываем свой Sidebar gadget [Электронный ресурс]. - Режим доступа: http://habrahabr.ru/post/71958/

12. Свободная энциклопедия [Электронный ресурс]. - Режим доступа: http://ru.wikipedia.org/wiki/Adobe_Flash

13. Свободная энциклопедия [Электронный ресурс]. - Режим доступа: http://ru.wikipedia.org/wiki/HTML5

14. Свободная энциклопедия [Электронный ресурс]. - Режим доступа: http://ru.wikipedia.org/wiki/Silverlight

15. Свободная энциклопедия [Электронный ресурс]. - Режим доступа: http://ru.wikipedia.org/wiki/Виджет

16. Создание гаджетов для Windows Sidebar [Электронный ресурс]. - Режим доступа: http://designformasters.info/posts/windows-sidebar-gadget/

17. Создание простой игры на Silverlight [Электронный ресурс]. - Режим доступа: http://blogs.msdn.com/b/rucoding4fun/archive/2009/07/30/e-silverlight.aspx

Размещено на Allbest.ru

...

Подобные документы

  • Программа смены обоев рабочего стола, принцип ее работы. Основные виды обоев для рабочего стола. Существующие программы и их преимущества. Разработка приложения для смены обоев рабочего стола с использованием функций программы Delphi 7, листинг программы.

    контрольная работа [3,8 M], добавлен 17.11.2012

  • Стандартные компоненты Windows XP. Главное меню, панель задач, оформление рабочего стола и значки рабочего стола. Требования к минимальной конфигурации, необходимой для установки Windows XP на платформе Intel. Удаленный доступ к рабочему столу.

    курсовая работа [1,1 M], добавлен 14.01.2015

  • Интерфейс и функции виджетов, используемые в разработке программные средства. Элементы: часы, календарь, заметки, сервер. Формирование кроссплатформенного менеджера виджетов рабочего стола, обладающего интерфейсом на нескольких операционных системах.

    дипломная работа [210,4 K], добавлен 06.07.2015

  • Эволюция графических пользовательских интерфейсов. Устройство системы X Window и менеджеры окон. Описание рабочего стола и приложения KDE и GNOME. Обзор основных принципов организации интерфейса в системе Windows, описание пакета ее прикладных программ.

    реферат [1,8 M], добавлен 15.02.2012

  • Анализ предметной области, выбор и обоснование среды разработки. Построение принципиальных электрических схем онлайн. Технология Silverlight и возможности ElectricSchemeBuilder. Волновой алгоритм трассировки, его задачи и этапы. Состав модулей программы.

    дипломная работа [4,0 M], добавлен 24.05.2012

  • Моделирование концепта внешнего USB картридера с функцией USB и Ethernet hub с экраном, на котором располагается нужная пользователю информация. Особенности проектирования 3d модели USB гаджета: выбор программы и метода моделирования, разработка дизайна.

    контрольная работа [217,7 K], добавлен 18.01.2012

  • Разработка программного приложения для автоматизации рабочего места кладовщика на центральном складе предприятия. Решение задачи создания клиент-серверной архитектуры базы данных в среде программирования Delphi 7 и Interbase для "Windows 9X(NT)".

    дипломная работа [1,8 M], добавлен 19.06.2012

  • Элементы рабочего стола. Общие приемы работы с окнами. Главное и контекстное меню. Создание и переименование папок. Удаление и восстановление информации. Копирование информации на съемные носители. Настройка Рабочего стола. Настройка панели задач.

    учебное пособие [346,4 K], добавлен 20.08.2010

  • Графический интерфейс (операционные системы), объекты Windows и их свойства. Рабочий стол – графическая среда, на которой отображаются объекты и элементы управления Windows, примеры окон и рабочего стола. Основные приемы управления с помощью мыши.

    презентация [1,1 M], добавлен 12.04.2010

  • Разработка сетевой карточной игры "King" для операционной системы Windows XP. Реализация приложения с помощью интерфейса прикладного программирования Win32 API. Назначение серверной и клиентской части. Анализ исходных данных, тестирование приложения.

    курсовая работа [209,3 K], добавлен 24.01.2016

  • Применение интерактивности в визуальной работе с использованием Silverlight. Быстрая фильтрация данных с использованием слайдера. Поиск данных с помощью компонента AutoCompleteBox. "Постепенная" загрузка данных в List Box. Реализация ящика Эджворта.

    дипломная работа [4,9 M], добавлен 25.11.2011

  • Анализ архитектуры ОС Windows 8. Сравнение с предыдущими версиями (интерфейс Modern UI, работа с учетными записями, модель безопасности, диспетчер задач, история файлов, восстановление системы, Storage Spaces). Особенности различных версий Windows 8.

    курсовая работа [289,1 K], добавлен 25.01.2016

  • Значение папки "Мой компьютер", запуск проводника и изменение его параметров. Назначение пунктов главного меню операционной системы Windows. Порядок загрузки, перезагрузки и завершения работы ОС. Оптимизация OC, ее IP-адрес, настройка рабочего стола.

    реферат [402,3 K], добавлен 21.03.2015

  • Основы программирования на 32-битном Ассемблере, разработка с его помощью программы, демонстрирующей работу одного из разделов ОС Windоws. Описание используемых АРI-функций как интерфейса программирования приложений. Листинг программы, результаты работы.

    курсовая работа [164,5 K], добавлен 18.05.2014

  • Настройки Windows XP (панель управления). Запуск программ с помощью панели управления. Основные группы панели управления. Выбор оформления рабочего стола. Сеть и соединения с Интернетом. Звуки, речь и аудиоустройства. Производительность и обслуживание.

    реферат [892,1 K], добавлен 28.04.2010

  • Общие характеристики операционной системы Android. Разработка приложения на основе создания менеджера файлов. Получение с помощью приложения доступа к файлам, хранящимся в "облачном хранилище" в сети Интернет. Расчет стоимости программного обеспечения.

    дипломная работа [2,7 M], добавлен 03.04.2015

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.

    курсовая работа [2,2 M], добавлен 15.03.2015

  • Понятия вычислительной системы, ее аппаратное обеспечение. Конфигурация и устройство компьютера. Элементы управления операционной системы Windows ХР. Стандартные и служебные приложения ОС. Архитектура фон Нейман. Работа в программе Microsoft Excel.

    шпаргалка [47,0 K], добавлен 29.12.2010

  • Операционная система MS-DOS: история и характеристика. Обзор стандартных программ операционной системы Windows. Способы запуска программ. Служебные приложения Windows и их назначение: диспетчер задач, проверка, очистка, дефрагментация и архивация диска.

    реферат [221,4 K], добавлен 06.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.