Программная платформа Microsoft Silverlight
Аннотация: В этой лекции мы более подробно разберём технологию Microsoft Silverlight, рассмотрим историю её появления, аспекты её применения и полностью разберём все файлы написанной на ней программы.
Цель лекции: ознакомление с историей появления и развития Microsoft Silverlight, его архитектурой и основными возможностями. Написание более сложной программы при помощи этой технологии.
Ранее мы уже познакомились с технологией Silverlight и даже написали несколько программ, давайте теперь рассмотрим её более подробно.
Как мы уже знаем Microsoft Silverlight это платформа позволяющая запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики. Её используют для создания RIA ( Rich Internet application ).
Rich Internet application ( RIA , «Насыщенное («богатое») Интернет — приложение «) — это приложение , доступное через Интернет , насыщенное функциональностью традиционных настольных приложений, которое предоставляется либо уникальной спецификой браузера, либо через плагин, либо путём «песочницы» (виртуальной машины).
как установить и настроить Silverlight
Silverlight предоставляет графическую систему, схожую с Windows Presentation Foundation , и объединяет мультимедиа , графику, анимацию и интерактивность в одной программной платформе. Он был разработан, чтобы работать с XAML и с языками . NET . XAML используется для разметки страниц, использующих векторную графику и анимацию.
Рис. 5.1. Логотип Silverlight
Windows Presentation Foundation (WPF, кодовое название — Avalon) — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе . NET Framework (начиная с версии 3.0), имеющая прямое отношение к XAML .
Разработка Silverlight велась путем последовательного добавления функционала в каждой новой версии. Так, Silverlight 4 представлял собой надмножество над Silverlight 3, а та в свою очередь являлась надмножеством над Silverlight 2. Код для данной платформы не обладает полной совместимостью между версиями, главным образом из-за вынужденного применения программистами различных обходных путей при отсутствии какого-либо встроенного функционала .
Первая бета-версия Silverlight была выпущена в декабре 2006 года.
Давайте теперь создадим новое приложение Silverlight и подробнее рассмотрим каждый файл . Полный список мы рассмотрели во второй лекции, теперь же заглянем внутрь. Начнём с файлов App . xaml и MainPage. xaml – это файлы XAML , тогда как App.xaml.cs и MainPage.xaml.cs – это файлы C #. Такой своеобразный принцип именования файлов подразумевает, что два файла C #-кода являются файлами выделенного кода, связанными с двумя XAML -файлами. Они содержат код для поддержки разметки. Это основная концепция Silverlight.
Установка Microsoft Silverlight
Сделаем небольшой обзор этих четырех файлов. В файле App . xaml .cs можно найти описание пространства имен, которое совпадает с именем проекта, и класс App , производный от Silverlight-класса Application ( Приложение )
Рассмотрим фрагмент этого файла, чтобы понять его общую структуру:
namespace WindowsPhoneApplication < public partial class App : Application < public App() < … InitializeComponent(); … >> >
Во всех приложениях на Silverlight имеется класс App , производный от Application . Этот класс осуществляет все рутинные операции по общей инициализации приложения, запуску и завершению выполнения.
В проекте также есть файл App . xaml :
Данный файл выглядит как XML , или, точнее, это XAML — файл , являющийся важной составляющей концепции Silverlight. В частности, разработчики часто используют файл App . xaml для хранения ресурсов, используемых приложением. Эти ресурсы могут включать цветовые схемы, градиентные кисти, стили и т.д.
Корневым элементом является Application – класс Silverlight, от которого наследуется класс App. Корневой элемент включает описания четырех пространств имен XML . Два из них являются общими для всех приложений Silverlight, два – используются только в приложениях для телефонов.
Первым объявляется пространство имен «xmlns», стандартное для Silverlight. Оно используется компилятором для определения местоположения и идентификации классов Silverlight, таких же как сам класс Application . Как и большинство описаний пространств имен XML , этот URI не указывает ни на что конкретное, это просто URI , принадлежащий Майкрософт и определенный для этой цели.
Второе пространство имен XML связано с самим XAML и позволяет ссылаться в файле на некоторые элементы и атрибуты, являющиеся, скорее, частью XAML , а не Silverlight. По общепринятым правилам это пространство имен ассоциируется с префиксом «х» (что означает » XAML «).
К таким атрибутам, поддерживаемым XAML и обозначаемым префиксом «х», относится Class ( Класс ), который часто называют «x class «. В этом конкретном XAML -файле x: Class присвоено имя WindowsPhoneApplication. App . Это означает, что класс App в пространстве имен . NET WindowsPhoneApplication наследуется от Silverlight-класса Application , корневого элемента. Это описание того же класса, что мы видели в файле App . xaml .cs, но с использованием совершенно другого синтаксиса.
Файлы App . xaml .cs и App . xaml описывают две части одного и того же класса App . Во время компиляции Visual Studio проводит синтаксический разбор App . xaml и формирует еще один файла кода App.g.cs. «g» означает «generated» или «автоматически сформированный». Этот файл можно найти в подпапке objDebug проекта. App .g.cs также является частичным описанием класса App и включает метод InitializeComponent (Инициализировать компонент ), который вызывается из конструктора в файле App . xaml .cs.
При запуске программы класс App создает объект типа PhoneApplicationFrame (Рамка приложения для телефона) и присваивает этот объект собственному свойству RootVisual. Это рамка шириной 480 пикселов и высотой 800 пикселов, которая занимает весь экран телефона. После этого объект PhoneApplicationFrame ведет себя подобно Веб-браузеру и переходит к объекту MainPage ( Главная страница ).
MainPage – второй основной класс любого приложения на Silverlight, он описывается во второй паре файлов: MainPage.xaml и MainPage.xaml.cs . В небольших приложениях на Silverlight больше всего внимания разработчики уделяют именно этим двум файлам.
Если не брать во внимание длинный список директив using, файл MainPage.xaml.cs очень прост:
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; namespace WindowsPhoneApplication < public partial class MainPage : PhoneApplicationPage < public MainPage() < InitializeComponent(); >> >
Директивы using для пространств имен, начинающихся со слов System.Windows , предназначены для классов Silverlight; иногда их необходимо дополнить еще некоторыми директивами using. Пространство имен Microsoft.Phone.Controls включает расширения Silverlight для телефона, в том числе и класс PhoneApplicationPage (Страница приложения для телефона).
Опять же, перед нами еще одно частичное (partial) описание класса. В данном случае описывается класс MainPage, производный от Silverlight-класса PhoneApplicationPage . Этот класс определяет визуальные элементы, которые пользователь видит на экране при выполнении программы WindowsPhoneApplication .
Вторая половина класса MainPage описывается в файле MainPage. xaml . Давайте его рассмотрим :
«/> «/>
Первые четыре описания пространств имен XML аналогичны приведенным в файле App . xaml . Как и в файле App . xaml , атрибут x: Class также находится в корневом элементе. Здесь он показывает, что класс MainPage в пространстве имен WindowsPhoneApplication наследуется от Silverlight-класса PhoneApplicationPage. Этот класс PhoneApplicationPage требует собственного описания пространства имен XML , поскольку не является частью стандартного Silverlight.
Описания пространств имен, ассоциированные с префиксами «d» (» designer «) и «mc» (» markup compatibility «), предназначены для программ визуального редактирования XAML , таких как Expression Blend и дизайнер в самой Visual Studio . Атрибуты DesignerWidth (Ширина дизайнера) и DesignerHeight ( Высота дизайнера) игнорируются во время компиляции .
При компиляции программы автоматически формируется файл MainPage.g.cs (его можно найти в подпапке objDebug), содержащий еще одну часть описания класса MainPage. Она включает метод InitializeComponent, который вызывается из конструктора в файле MainPage. xaml .cs.
В корневом элементе MainPage. xaml можно найти настройки FontFamily (Семейство шрифтов), FontSize ( Размер шрифта ) и Foreground (Цвет шрифта), применяемые к странице в целом.
Тело файла MainPage. xaml включает несколько вложенных элементов Grid (Сетка), StackPanel (Стек-панель) и TextBlock (Блок текста).
PhoneApplicationPage, Grid , StackPanel и TextBlock – все это классы Silverlight. В разметке они становятся элементами XML . Свойства этих классов становятся атрибутами XML .
Вложенные элементы в MainPage. xaml , как говорится, формируют дерево визуальных элементов. В Silverlight-приложении для Windows Phone 7 дерево визуальных элементов всегда начинается с объекта типа PhoneApplicationFrame, который занимает всю поверхность отображения телефона. В программе на Silverlight для Windows Phone 7 всегда есть только один единственный экземпляр PhoneApplicationFrame, в просторечии называемый рамкой.
И, в противоположность этому, в программе может быть множество экземпляров PhoneApplicationPage, которые обычно называют просто страницами. В любой отдельно взятый момент времени в рамке размещается всего одна страница, но имеется возможность перехода к другим страницам. По умолчанию страница не занимает всю поверхность отображения рамки, оставляя место для панели задач (которую также называют строкой состояния) вверху экрана телефона.
В нашем простом приложении всего одна страница, которая названа MainPage, соответственно. Эта MainPage включает Grid , в котором располагается StackPanel с парой элементов TextBlock, и еще один Grid . Все они образуют иерархическое дерево . Визуальное дерево , создаваемое Visual Studio для программы на Silverlight, выглядит следующим образом:
PhoneApplicationFrame PhoneApplicationPage Grid под названием «LayoutRoot» StackPanel под названием «TitlePanel» TextBlock под названием «ApplicationTitle» TextBlock под названием «PageTitle» Grid под названием «ContentPanel».
Давайте теперь попробуем написать свой мини браузер .
Создадим Silverlight проект под названием «My mini browser «.
Поменяйте в заголовке текст, следующим образом:
Теперь при помощи инструментов, нажав на нужный элемент два раза, добавьте поле ввода (TextBox) и кнопку ( Button ). При помощи визуального редактора измените размеры и переместите эти элементы под заголовок следующим образом:
Рис. 5.2. Разработка браузера
Кликните один раз на текстовом поле и справа внизу в меню Properties поменяйте значение Text на «http://www.yandex.ru». Результат сразу отобразится на нашей форме слева.
Рис. 5.3. Меню Properties
Аналогичным способом задайте нашей кнопке поле Content , изменив её значение на GO .
Теперь пришло время добавить сам браузер , элемент который называется WebBrowser, также есть в меню ToolBox . Измените его размеры, чтобы он занимал всю оставшуюся часть экрана. Пришло время добавить код. Дважды щёлкните на кнопке » GO » и перед вами откроется файл MainPage. xaml .cs. Добавьте туда две следующие строки:
private void button1_Click(object sender, RoutedEventArgs e)
Тут мы объявляем новую переменную site типа string и присваиваем ей значение нашего текстового поля, затем передаём ей нашему браузеру как ссылку, которую нужно открыть. Всё это происходит при нажатии на кнопку. Давайте сохраним файл и запустим наше приложение . Нажав на кнопку » GO » мы перейдём на нужный нам сайт , попробуйте нажать на текстовое поле и вы увидите, что появляется экранная клавиатура.
Рис. 5.4. Наше приложение
Ключевые термины
Rich Internet application ( RIA , «Насыщенное («богатое») Интернет — приложение «) — это приложение , доступное через Интернет , насыщенное функциональностью традиционных настольных приложений, которое предоставляется либо уникальной спецификой браузера, либо через плагин, либо путём «песочницы» (виртуальной машины).
Windows Presentation Foundation (WPF, кодовое название — Avalon) — система для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем, графическая (презентационная) подсистема в составе . NET Framework (начиная с версии 3.0), имеющая прямое отношение к XAML .
Краткие итоги
В данной лекции мы:
- более подробно изучили технологию Silverlight;
- разобрали основные файлы Silverlight программы на Windows Phone 7 и код, содержащийся в них;
- создали наш первый браузер.
Набор для практики
Упражнения
При помощи свойств «Height», «Width», «HorizontalAlignment», «VerticalAlignment» и значений для них «Auto», «Stretch», «Right», «Top» — измените нашу программу, чтобы в альбомном режиме строка и кнопка были сверху горизонтально, а браузер находился под ними.
Источник: intuit.ru
Microsoft Silverlight
Microsoft Silverlight — это программная платформа для написания и запуска многофункциональных интернет-приложений RIA, схожая с Adobe Flash, включающая в себя модуль для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA. Версия 2.0 добавила поддержку для языков .NET [2] [3] и интеграцию с IDE.
Silverlight была реализована для ОС Windows 2000 [4] , Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows 8, Mac OS X 10.4, Mac OS X 10.5, Mac OS X 10.6 и браузеров Internet Explorer, Opera, Mozilla Firefox, Safari, Google Chrome [5] . Silverlight была включена в состав Windows Phone 7 [6] и являлась одной из двух программных платформ для этой ОС, однако не поддерживается в мобильной версии браузера Internet Explorer, ни в Windows Phone, ни в Windows Mobile. Поскольку Microsoft Edge не поддерживает плагины, то он не поддерживает и Silverlight [7] .
В 2012 году Microsoft назначила конец жизненного цикла Silverlight 5 на 12 октября 2021 года [8] . В 2013 году Microsoft объявила, что они прекратили развитие Silverlight, за исключением выпуска исправлений ошибок. Silverlight более не поддерживается в браузерах Opera, Mozilla Firefox, Google Chrome, так как в 2015 году в этих браузерах была отключена по умолчанию [9] или полностью прекращена [10] поддержка плагинов формата NPAPI.
- 1 Обзор
- 2 История
- 2.1 Silverlight 1.0 Beta
- 2.2 Silverlight 1.0
- 2.3 Silverlight 2
- 2.4 Silverlight 3
- 2.5 Silverlight 4
- 2.6 Silverlight 5
- 3.1 Совместимость с операционными системами и браузерами
- 5.1 Adobe Flash
- 5.2 JavaFX
Источник: wiki2.org
Введение в Silverlight 5
Развитие интернета, увеличение числа интернет-пользователей стали причиной того, что разработчики стали уделять гораздо больше внимания созданию интернет-приложений и разработке в веб-среде. Появилось много ориентированных на веб технологий программирования, которые позволяют создавать изящные веб-приложения. Одной из таких технологий является Silverlight.
Хотя Silverlight еще довольно молодая технология — самая первая бета-вервия вышла в конце 2006 года, но она уже прошла большой путь. На сегодня текущей версией является Silverlight 5. Изначально создаваемый для Windows, сейчас Silverlight, благодаря проекту Mono, поддерживается в той или иной степени и другими ОС, том числе созданными на базе ядра Линукс, а также мобильной системой Windows Phone 7. Кроме того, Silverlight-приложения могут запускаться как в браузере, будучи органичной частью веб-страницы, так и в качестве обычных десктопных приложений.
Какие возможности предлагает Silverlight? Silverlight предоставляет функционал для создания динамичных сайтов и RIA-приложений. Он удобен при работе с графикой, в том числе с трехмерной, мультимедиа, он позволяет создавать интерактивные приложения с богатым и масштабируемым интерфейсом. Одной из особенностей Silverlight 5 является интеграция с XNA, что позволяет задействовать потенциал этой платформы.
Хотя для создания приложений нужно использвоать языки C# или VB.NET, а также XAML для интерфейса, Silverlight-приложения могут работать и без платформы .NET — необходимо лишь установить плагин Silverlight размером около 5-6 Мб для соответствующего браузера. В настоящее время Silverlight поддерживается всеми распространенными браузерами.
Для того, чтобы создавать Silverlight-приложения, нам потребуется среда разработки Visual Web Developer 2010 Express и средства разработки Silverlight 5 Tools for Visual Studio 2010 SP1 (их можно найти на официальном сайте http://www.silverlight.net/downloads)
Начало работы с Silverlight
После установке всего необходимого инструментария откроем среду Visual Web Developer 2010 Express. Затем в меню File (Файл) выберем New Project (Создать проект). В диалоговом окне создания проекта выберем шаблон Silverlight Application и назовем проект как-нибудь (например, SilverlightCalculator) и нажмем OK:
Далее в следующем окне от нас потребуется установить ряд параметров:
Что представляют эти параметры? Флажок Host the Silverlight Application in a new Web syte позволяет создать веб-проект, ассоциированный с данным Silverlight-приложением. При выборе этого флажка для нас становится доступным выбор типа создаваемого веб-проекта в поле New Web project type , где мы можем выбрать либо обычный ASP.NET веб-проект, либо веб-сайт либо проект MVC. Поскольку веб-проект мы создавать не будем, снимите галочку с этого флажка.
В поле Silverlight Version мы можем выбрать версию сильверлайта. Надо отметить, что подобный выбор будет доступен, если в системе установлены соответствующие средства разработки для данной версии.
Ниже флажок Enable WCF RIA Services позволяет включить поддержку WCF-служб для приложения. Но в данном случае он нам не нужен, поэтому оставим его не отмеченным. Итоговые настройки должны выглядеть следующим образом:
После этого среда нам окроется проект с некоторыми автоматически генерируемыми файлами и кодом.
Теперь построем первое приложение. И начнем с Hello World. Для начала перейдем в окно XAML. Сейчас его содержимое выглядит следующим образом:
Если вы раньше не работали с XAML, то вам следует знать, что XAML представляет язык на основе XML, который используется для декларативного описания интерфейса. Окно приложения в Silverlight представляет класс UserControl, поэтому с него и начинается объявление интерфейса.
В первой строке вы также встретите x_Class=»SilverlightCalculator.MainPage» . То есть наше окно — это класс MainPage , определенный в пространстве имен нашего проекта SilverlightCalculator и унаследованный от класса UserControl.
Далее в выражениях xmlns_x=»http://schemas.microsoft.com/winfx/2006/xaml» мы подключаем в проект пространства имен XAML. Вражение xmlns:x означает, что мы отображаем пространства имен, идущее после знака равно, на литерал x .
В последней строке объявления окна d_DesignHeight=»300″ d_DesignWidth=»400″ мы устанавливаем размеры окна. Далее идет объявление корневого элемента Grid, который пока ничего не содержит.
С этим файлом интерфейса, который по умолчанию имеет имя MainPage.xaml , связан файл кода MainPage.xaml.cs , который также пока пуст:
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace SilverlightCalculator < public partial class MainPage : UserControl < public MainPage() < InitializeComponent(); >> >
Изменение кода приложения
Добавим в элемент Grid кнопку и зададим обработчик нажатия этой кнопки. Тогда XAML-файл будет выглядеть так:
Hello World
У нас автоматически должен сгенерироваться обработчик Button_Click. Если этого не произошло, его можно добавить вручную. Код приложения в итоге должен выглядеть так:
using System; . namespace SilverlightCalculator < public partial class MainPage : UserControl < public MainPage() < InitializeComponent(); >private void Button_Click(object sender, RoutedEventArgs e) < MessageBox.Show(«Hello Wolrd!»); >> >
Теперь нажмем F5 и запустим наше приложение. Откроется веббраузер, в котором вы увидите нашу кнопку.
После запуска проект компилируется, и создается ряд файлов. Вы можете их найти в папке bin->Debug(Release) проекта.
Здесь есть несколько файлов. В первую очередь надо отметить два файла. Первый — AppManifest.xml . Это файл манифеста приложения, необходимый для создания пакета. Второй — файл сборки приложения со всем функционалом (в данном случае SilverlightCalculator.dll ). Именно из этих файлов формируется пакет с расширением XAP (в данном случае SilverlightCalculator.xap ). По сути это архивный файл, в который и включаются все файлы приложения.
Также автоматически Visual Studio генерирует тестовую html-страничку, которая уже содержит всю необходимую разметку для запуска silverlight- приложения (в нашем случае файл SilverlightCalculatorTestPage.html ). Если мы откроем файл в текстовом редакторе, то внизу файла после объявлений стилей и скриптов мы увидим разметку элемента object, который содержит ссылку на наше приложение:
Как вы видите, в строке указан пакет xap нашего приложения. Таким образом мы можем указывать для страницы нужное нам silverlight-приложение. Также обратите внимание на другие свойства. Так, в четвертой строке у нас заданы ширина и высота со значением 100%. Это настройки по умолчанию.
Поэтому, когда мы запускаем приложение, оно растягивается на все окно браузера. Но мы можем изменить эти значения по своему усмотрению.
Источник: metanit.com
Microsoft Silverlight
Microsoft Silverlight — программа для воспроизведения мультимедийных файлов в интернете. Она обрабатывает большинство существующих типов файлов и языков программирования (AJAX, VB, C#, Python и Ruby).
- Воспроизведение форматов векторной графики, изображений и анимации.
- Воспроизведение Flash-видео и видеороликов.
- Загрузка и отображение баннеров, рекламы и других элементов.
- Поддержка и интеграция во все популярные браузеры.
- Обеспечение наилучшего качества отображаемого контента.
Программа разработана для операционной системы Windows XP, Vista, 7, 8, 8.1 и 10 (32 и 64-битных разрядностей).
Источник: www.softsalad.ru