Опубликован: 27.12.2011 | Доступ: свободный | Студентов: 1333 / 35 | Оценка: 4.44 / 4.44 | Длительность: 12:31:00
Лекция 1:

Введение в технологию SilverLight

Лекция 1: 123 || Лекция 2 >

Следующим ключевым преимуществом Silverlight является поддержка CLR (Common Language Runtime) и BCL (Base Class Library). В данном случае это не полные версии данных библиотек из .Net framework и имеется ряд отличий, но базовая часть и основные принципы их построения сохранены и могут быть использованы в Silverlight приложениях.

Выполнение приложения в Silverlight плеере выполняется библиотекой Core CLR (ядро CLR), которая также представляет собой сокращенную версию CLR из .Net Framework. Сокращение почти не уменьшает функциональности, так как убраны те классы, которые не востребованы в сценариях разработки Silverlight.

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

Рассматривая элементы управления, поддерживаемые Silverlight, можно выделить две большие группы: элементы расположения и элементы отображения интерфейса. Элементы расположения могут не иметь собственного визуального представления во время выполнения программы, но обеспечивают требуемое размещение элементов отображения интерфейса на странице.

К элементам расположения относятся:

  • Canvas – элемент с абсолютным позиционированием, создающий на странице пространство для размещения подчиненных элементов. Подчиненные элементы позиционируются соотносительно Canvas, также можно вкладывать Canvas объекты друг в друга.
  • Doc Panel – позволяет прикреплять элементы к краям этой панели. Край для прикрепления указывается через свойство Doc элемента управления DocPanel.
  • Stack Panel – панель для автоматического упорядочивания элементов в горизонтальные или вертикальные списки.
  • Wrap Panel – также упорядочивает элементы в горизонтальном или вертикальном направлении, но осуществляет обрезку, когда достигается ограничение по ширине или высоте. Кроме использования размещения для управления местоположением элемента можно настраивать его специальные свойства: размер полей, ZOrder (порядок по глубине) или использовать механизмы трансформации.

Для создания интерфейса Silverlight поддерживает достаточно большое количество элементов управления их описание и примеры использования можно найти в специальной литературе [ 1 ] . Часть элементов описана в таблице 1.1 .

Таблица 1.1. Элементы управления SilverLight
Название элемента управления Описание
Элемент управления Button В Silverlight кнопка реализуется с помощью элемента управления Button. Кнопка реагирует на ввод пользователя с таких устройств ввода, как мышь, клавиатура или стилус, формируя событие Click (Щелчок).
Элемент управления CheckBox Элемент управления CheckBox предоставляет пользователю опцию для выбора. Обычно он представляется в виде прямоугольника, в котором пользователь может установить или убрать флажок. Он используется, когда имеется ряд опций на выбор и можно выбрать несколько из них.
Элемент управления HyperlinkButton HyperlinkButton (Гиперссылка) обеспечивает на странице элемент с возможностью щелчка по нему для перехода по URI, заданному свойством NavigateUri (Uri перехода).
Элемент управления Image Элемент управления Image используется для отображения изображений. Он может принимать форматы файлов .bmp, .jpg и .png. Путь к изображению задается свойством Source.
Элемент управления ListBox Элемент управления ListBox используется для представления содержимого в виде упорядоченного списка. Это достаточно гибкий элемент управления, так что элементы списка могут создаваться из содержимого любого типа, но обычно список образуется элементами ListBoxItem (элемент списка)
Элемент управления RadioButton, CheckBox Элемент управления RadioButton подобно CheckBox используется для фиксирования выбора пользователя. Однако отличается от CheckBox тем, что обычно применяется в ситуациях, когда пользователь должен выбрать единственный вариант из ряда предлагаемых опций.
Элемент управления TextBlock Элемент управления TextBlock используется в приложениях Silverlight для отображения текста. В самом простом случае, для отображения текст достаточно применить TextBlock с заданным свойством Text.
Элемент управления PasswordBox Очень похож на TextBox элемент управления PasswordBox (Поле пароля). PasswordBox во многих отношениях практически идентичен TextBox. С помощью свойства PasswordChar (Символ пароля) этого элемента управления можно задать символ, который будет использоваться вместо любого введенного символа для отображения нажатия клавиши.
Элементы управления Calendar и DatePicker Возможность использования дат в приложениях Silverlight обеспечивается элементами управления Calendar (Календарь) и DatePicker (Элемент выбора дат). Элемент управления Calendar выводит на экран дни заданного месяца или месяцы заданного года и предоставляет кнопки со стрелками для перемещения по месяцам или годам. DatePicker сочетает это представление с текстовым полем, в которое пользователь может вводить дату в соответствующем формате, или выпадающим списком, в котором можно выбрать определенную дату

Кроме того, с сайта CodePlex (http://silverlight.codeplex.com/) рекомендуется скачать набор дополнительных элементов управления Silverlight Toolkit, который также содержит специальные элементы отображения интерфейса. Использование элементов при разработке программы выполняется аналогично другим технологиям. Элемент размещается на форме, а его свойства можно измерять как в редакторе или XAML коде или в коде программ.

Так как Silverlight работает в браузере, логично обеспечить поведение его приложений аналогично веб-приложениям в браузере. Для этого используется специальные элементы, входящие в Navigation Framework. С помощью элементов Frame и Page можно отображать страницы по частям и перемещаться между ними аналогично переходам по веб – страницам. Также с использованием этого фреймворка реализуется поддержка гиперссылок и возможность индексации приложения Silverlight в поисковых системах.

Особое внимание разработчики уделили возможности поддержки в приложении Silverlight различных видов и типов мультимедиа. Базовой возможностью является поддержка графики и анимации, в том числе и векторной графики. Имеется поддержка пиксельных шейдерных эффектов, кеширования изображений, использования анимации, отображения шрифтов со сглаживанием. Для векторной графики поддерживается Geometry и Shape объект, с помощью которых можно создавать в приложении стандартные векторные геометрические фигуры.

Для воспроизведения видео используется объект MediaClient. В качестве параметра ему передается URL видео файла. При этом клиент имеет возможность в зависимости от типа своего интернет соединения выбирать качество видео, и тем самым регулировать объем передаваемой информации. Данный элемент поддерживает различные медиаформаты видео: WMV, WMVA, H.264, WMVC1 и аудио (WMA, AAC, MP3).

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

Для создания бизнес-приложений со сложной начинкой Silverlight поддерживает механизмы локального хранилища, позволяющего обеспечить локальный кеш для временного хранения информации на стороне клиента. Это позволяет не перемещать многократно используемую информацию между сервером и клиентом, а, загрузив ее однократно, использовать при необходимости. Также это позволяет создавать приложения, поддерживающие автономную работу. Размер хранилища по умолчанию 1 МБ, но может быть увеличен в настройках до нужного размера. Размер устанавливается для отдельного домена, и хранилища для приложений с разных доменов не зависимы друг от друга.

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

Доступ к файловой системе ограничен в целях безопасности. Папки, к которым доступ возможен входят в перечисленные Get Special Folder. В него входят Мои документы, Мои рисунки и т.д.

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

Доступ к сети в Silverlight через классы в пространстве имен System.Net реализованы различные классы, позволяющие получать данные как по стандартным протоколам HTTP и HTTPS, так и по XML, JSON, RSS, Atom. Также имеется поддержка Sockets сокетов и механизмов асинхронного взаимодействия на основе TCP протокола.

Данные со страниц Silverlight могут быть распечатаны. Имеется специальный класс Print Document. Можно распечатывать все элементы управления, добавленные в свойство Page Visual.

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

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

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

В последнее время, в связи с грядущим выходом Windows 8 Microsoft смещает фокус в сторону HTML 5, чем пугает сообщество разработчиков Silverlight, но последние заявления указывают, что сомнения необоснованные и Silverlight имеет самые широкие перспективы рассматривать Microsoft в качестве одной из своих стратегических платформ.

Краткие итоги

  1. Silverlight является интернет-ориентированной платформой создания и выполнения насыщенных приложений.
  2. Silverlight включает в себя возможности и инструменты для создания бизнес-приложений.
  3. В новой версии Silverlight 5 будет реализован ряд нововведений как в мультимедиа, так и в бизнес-функции.
  4. Существует несколько принципиально различных способов использования Silverlight приложений.
  5. К ключевым элементам насыщенных интернет приложений (RIA) можно отнести ряд функций SilverLight.
  6. Для элементов управления Silverlight относятся к элементам расположения.
  7. Для вывода и вывода мультимедиа информации Silverlight поддерживает различные кодеки и интерфейсные устройства.
  8. Доступ к сети в Silverlight через классы в пространстве имен System.Net.
Лекция 1: 123 || Лекция 2 >