Работа в Интернете сильно изменилась с начала 1990-х годов. В то время большинство веб-страниц состояло из статического текста, нескольких изображений и периодически повторяющегося (и часто раздражающего) звукового файла MIDI . Но с годами Интернет стал более сложным. Сегодня вы можете посещать веб-сайты, содержащие видео, анимацию, звук и интерактивные функции. С самыми продвинутыми веб-сайтами это почти как в кино. Но для создания, просмотра и взаимодействия с этими новыми функциями программистам пришлось создавать новые приложения. Одним из таких приложений является программа Silverlight от Microsoft .
Silverlight не поддается легкому объяснению. Во многом он похож на Adobe Flash. Silverlight требует от разработчиков и пользователей загрузки клиента - без этой загрузки веб-браузеры не могут обрабатывать содержимое Silverlight. Это дает веб-разработчикам возможность включать потоковое видео , аудио и анимацию на веб-страницы. Программисты могут создавать сложные интерактивные веб-приложения с использованием технологии Silverlight. Во всемирной паутине эти приложения имеют специальное название: Rich Internet Applications ( RIA s).
По мере того, как RIA становятся более сложными, разница между настольными приложениями - программами, которые хранятся на вашем жестком диске - и веб-программами начинает исчезать. Веб-браузеры могут со временем превратиться в полноценные операционные системы на базе Интернета, поскольку мы используем Интернет для удовлетворения наших потребностей в обработке и хранении данных. Такое использование Интернета называется облачными вычислениями - программы и данные хранятся в «облаке» Интернета, а не на компьютере отдельного пользователя.
Silverlight - лишь один из множества инструментов, предназначенных для помощи программистам в создании более эффективных RIA. Инженеры Microsoft создали Silverlight как расширение других проектов Microsoft, но само приложение стоит отдельно. Microsoft продвигает Silverlight как кроссплатформенную кроссбраузерную технологию. Это означает, что приложения Silverlight должны работать как на ПК, так и на компьютерах Mac, а также в таких браузерах, как Internet Explorer , Firefox или Safari. Silverlight вскоре должен работать и с компьютерами Linux - проект с открытым исходным кодом под названием Mono возглавляет усилия по созданию версии для Linux .
Несмотря на то, что Silverlight - молодая технология, неприятности и споры здесь не редкость. Некоторым разработчикам и пользователям не нравится еще одна веб-технология, для работы которой требуется загружаемый подключаемый модуль. А партнерство с NBC во время Олимпийских игр 2008 года в Пекине, возможно, не вызвало столько шума, как надеялась Microsoft.
Но прежде чем мы перейдем ко всему этому, давайте сначала поближе познакомимся с капотом Silverlight.
- Бета-версия Silverlight
- Silverlight Разработка
- Приложения Silverlight
- Видео Silverlight
Бета-версия Silverlight
Одна из сложных особенностей Silverlight заключается в том, что на момент написания этой статьи существует две версии: Silverlight 1 и Silverlight 2 Beta. Silverlight 1 поддерживает приложения, написанные на языке программирования JavaScript . Бета-версия Silverlight 2 поддерживает дополнительные языки программирования, такие как C # (произносится «c Sharp») и Visual Basic . Обе версии Silverlight работают в рамках .NET .
Так что же .NET? Еще один продукт от Microsoft . .NET framework - это модель программирования. Программисты могут создавать приложения в рамках этой модели, особенно веб-приложения, основанные на расширяемом языке разметки ( XML ).
Два основных компонента .NET Framework - это среда CLR и библиотека классов . Среда CLR действует как администратор - она отслеживает приложения и распределяет ресурсы, необходимые этим приложениям (например, память или вычислительную мощность) для правильной работы. Библиотека классов содержит несколько многократно используемых программных объектов, на которые программисты могут положиться при создании приложений. Программный объект имеет две характеристики: состояние и поведение.. Состояние объекта относится к различным состояниям, которые может иметь объект. Например, программа может иметь состояния «запущена», «приостановлена» и «остановлена» (хотя и не все одновременно). Поведение относится к тому, что может делать объект. В нашем примере это будет включать «начало», «паузу» и «конец».
И это только структура, окружающая Silverlight! В Silverlight Microsoft включает технологию Windows Presentation Foundation ( WPF ) и поддержку расширяемого языка разметки приложений ( XAML ). Разработчики приложений могут использовать как WPF, так и XAML для создания веб-приложений. И WPF, и XAML без проблем работают в платформе .NET. Microsoft разработала WPF, потому что язык гипертекстовой разметки ( HTML ) имеет ограничения - веб-браузеры могут выполнять функции, которые слишком сложны для поддержки HTML.
WPF использует механизм векторной визуализации для создания графики для приложений. Он может поддерживать двухмерную и трехмерную графику и предоставляет разработчикам средства для поддержки своих приложений, работая в .NET. Основная цель XAML - дать разработчикам возможность настраивать внешний вид своих приложений. Вместе WPF и XAML определяют внешний вид и поведение приложения Silverlight.
В то время как WPF и XAML определяют, как приложение выглядит и ведет себя, программисты используют другие компьютерные языки для создания самих приложений. В то время как Silverlight 1 поддерживает только JavaScript , бета-версия Silverlight 2 поддерживает несколько динамических языков. Программисты создают свои приложения, используя эти языки, работая в среде .NET, и используют WPF и XAML для интеграции приложения в возможности просмотра веб-страниц. Все приложения Silverlight запускаются в веб-браузере.
Давайте посмотрим на архитектуру платформы Silverlight, чтобы увидеть, как все эти элементы работают вместе, чтобы дать программистам платформу, необходимую им для создания RIA.
Silverlight Разработка
Как и все программное обеспечение, платформа Silverlight имеет определенный набор функций и возможностей, называемый архитектурой . Архитектура программы может многое рассказать о том, как она работает. Он логически группирует задачи и показывает, как разные части программы работают вместе, чтобы предоставить общий сервис. Цель Microsoft с Silverlight - создать мощную, но простую платформу для следующего поколения веб-приложений.
Microsoft делит архитектуру платформы Silverlight на два основных компонента с дополнительным установщиком и элементом обновления. Два основных компонента включают в себя базовую платформу представления и платформу .NET для Silverlight. Давайте посмотрим на каждого по очереди.
Основная структура представления содержит следующее:
- Механизм визуализации пользовательского интерфейса ( UI ), который генерирует всю графику, анимацию и текст в приложении.
- Интерфейс ввода, который обрабатывает пользовательский ввод с таких устройств, как клавиатуры , мыши и цифровые планшеты.
- Медиа-движок, поддерживающий несколько форматов аудио и видео файлов.
- Элемент управления цифровыми правами, который позволяет разработчикам сохранять контроль над мультимедиа в своих приложениях.
- Поддержка настраиваемых элементов управления приложениями
- Поддержка динамических макетов пользовательского интерфейса - эта функция позволяет разработчикам изменять внешний вид пользовательского интерфейса приложения в режиме реального времени.
- Поддержка привязки данных - привязка элементов пользовательского интерфейса к объектам данных в приложении.
- Анализатор для XAML
.NET Framework имеет следующие функции:
- Поддержка функций Language-Integrated Query ( LINQ ) - LINQ позволяет разработчикам интегрировать данные из разных источников.
- Библиотека базового класса , который поддерживает основные функции программирования , такие как криптография
- Набор функций под названием Window Communication Foundation ( WCF ), призванный упростить приложению доступ к удаленным данным и службам.
- Фонд презентаций Windows (WPF)
- Dynamic Language Runtime ( DLR ), элемент, который поддерживает приложения, написанные на различных языках программирования.
- Common Language Runtime ( CLR ), компонент, который обрабатывает управление памятью и другие важные функции.
Ядро представления и .NET Framework взаимодействуют друг с другом в основном через XAML. В некотором смысле XAML действует как мост между двумя компонентами. Элемент установки и обновления не требует пояснений. Предполагается, что первоначальная установка приложения будет максимально простой для пользователя. Он также обеспечивает основу для автоматического обновления приложений.
Кроме того, Silverlight имеет несколько других функций, которые помогают разработчикам создавать RIA. Многие из этих функций сосредоточены на защите данных и управлении приложениями. Есть функции управления файлами, функция изолированного хранения и библиотеки XML, и это лишь некоторые из них.
Далее мы рассмотрим, какие приложения Silverlight смогут создавать разработчики.
Приложения Silverlight
Возможности Silverlight практически безграничны. Инструменты Silverlight позволяют разработчикам создавать веб-программы, которые варьируются от утилитарных устройств до сложных видеоигр . Несмотря на то, что Silverlight все еще является относительно молодой платформой программирования, в Интернете уже доступны десятки приложений.
Неудивительно, что разработчики используют Silverlight для создания проигрывателей потокового мультимедиа. Медиа-плееры похожи на мультимедийные проигрыватели Flash - приложения, которые используются на таких веб-сайтах, как YouTube . Эти программы транслируют видео и музыку из Интернета в браузер пользователя. Silverlight позволяет разработчикам создавать тематические видеопроигрыватели, предоставляющие определенный контент. Например, приложение Futbol Mexicano Silverlight передает пользователям видео мексиканских футбольных матчей. Но Silverlight может не только воспроизводить видео.
Приложения Silverlight могут быть относительно простыми, как панели героев . Панели героев - это веб-баннеры, которые содержат всплывающие сообщения и ссылки на контент, находящийся в глубине веб-сайта. Разработчики могут использовать Silverlight для создания панели героев, которая может извлекать информацию и ссылки из RSS-канала . Панель героев обновляется, когда веб-мастер добавляет на сайт новый контент.
Программисты также могут использовать Silverlight для взаимодействия с другими веб-службами. Twitterlight - это приложение Silverlight, которое подключается к службе микроблогов Twitter . С помощью Twitterlight пользователи могут получать доступ к своим индивидуальным лентам Twitter и публиковать новые сообщения.
Онлайн- приложение TeamLive для продуктивной работы позволяет пользователям Silverlight совместно работать над проектами. TeamLive дает пользователям возможность делать снимки экрана приложений или веб-сайтов и делиться ими с другими пользователями. Это упрощает сотрудничество между членами команды в разных местах. Команда может работать вместе в режиме реального времени, чтобы исправить проблемы или оптимизировать дизайн.
Игры, работающие на Silverlight, могут варьироваться от простых до захватывающих. Например, вы можете найти традиционные игры, такие как Hangman в форме Silverlight, но вы также можете найти игры в аркадном стиле, такие как Zero Gravity, приключенческая игра на космическую тематику. Как и Flash, Silverlight предоставляет разработчикам ресурсы, необходимые для создания надежных игровых возможностей, к которым пользователи могут получить доступ через веб-браузер.
Эти приложения - лишь верхушка айсберга. По мере того, как Интернет становится все более изощренным и люди получают доступ к большей пропускной способности, пользователи будут требовать большего от своего опыта просмотра. Все больше людей обращаются к Интернету за новостями, развлечениями и приложениями для повышения производительности. Разработчикам придется использовать такие инструменты, как Silverlight, чтобы удовлетворить потребительский спрос.
Silverlight уже произвел большой фурор благодаря нескольким стратегическим партнерствам с более традиционными СМИ. Мы более подробно рассмотрим эти отношения в следующем разделе.
Видео Silverlight
Билл Гейтс был основным докладчиком на выставке Consumer Electronics Showcase (CES) в 2008 году. Речь ознаменовала его последнюю презентацию на выставке CES в качестве председателя правления Microsoft. В тот вечер г-н Гейтс представил множество новых проектов, продуктов и услуг Microsoft. Среди них было партнерство с NBC по онлайн- трансляции Олимпиады в Соединенных Штатах.
NBC уже получила телевизионные права на трансляцию Олимпийских игр в Соединенных Штатах. В дополнение к традиционным телевизионным трансляциям NBC вместе с Microsoft предлагали онлайн-трансляцию Олимпийских игр на своем веб-сайте. Посетители должны были загрузить и установить Silverlight на свои компьютеры, чтобы посмотреть видео. Некоторые технические журналисты подвергли сомнению это решение - в то время как Silverlight является мощной платформой, Adobe Flash имеет гораздо более широкое присутствие на рынке. На большинстве ПК уже есть Flash, и сравнительно мало людей загрузили Silverlight. Некоторым журналистам показалось, что NBC проводит рискованный эксперимент.
Спаривание прошло успешно? Это зависит от того, кто рассказывает историю. Согласно статье в The New York Times, веб-сайт NBC, посвященный Олимпийским играм, предоставил зрителям более 72 миллионов потоков видео во время Олимпийских игр [источник: Stelter ]. Но такие блоги, как TechCrunch, утверждают, что другие сайты, освещающие Олимпийские игры, - сайты, на которых вообще не было видео, - имели больше посетителей, чем сайт NBC [источник: Schonfeld ]. Некоторые блоги также сообщали о слухах о том, что рекламодатели недовольны работой NBC в Интернете.
Возможно, у NBC было бы больше онлайн-зрителей, если бы компания выбрала Adobe Flash в качестве платформы для потокового видео . Или, может быть, больше людей смотрели бы игры в Интернете, если бы NBC не ограничил трансляцию событий в Интернете. Но даже если некоторые сочли этот эксперимент разочаровывающим, Microsoft знает, что Silverlight загрузили миллионы людей. В книге Microsoft это считается победой.
Microsoft установила партнерские отношения с другими известными именами в Соединенных Штатах. В конце 2007 года потоковый видеоплеер Высшей лиги бейсбола перешел на Silverlight. CBS выбрала Silverlight, когда компания создала интерактивную веб-платформу для пользовательского контента. И Национальная баскетбольная ассоциация также выбрала Silverlight для своего онлайн-медиаплеера.
Станет ли Silverlight следующим большим стандартом Интернета? Пока рано говорить. Вы можете возразить, что он более надежен, чем Adobe Flash, но опять же, Flash имеет гораздо более глубокое проникновение на рынок. В конечном итоге, какая бы технология ни оказалась на первом месте, пользователи смогут получить то, что они хотят: иммерсивный просмотр веб-страниц.
Чтобы узнать больше о Silverlight и связанных темах, осветите ссылки на следующей странице.
Медовый месяц закончился?
NBC не будет использовать Silverlight для предоставления видеопотоков Sunday Night Football в Интернете - вместо этого будет использоваться Adobe Flash. Но не думайте, что NBC игнорирует Microsoft - в данном случае Национальная футбольная лига приняла решение использовать Flash [источник: Learmonth ].
Еще больше информации
Статьи по Теме
- Как работает Microsoft
- Как работает компьютерная память
- Как работают видеокарты
- Как работает интернет-телевидение
- Как работают операционные системы
- Как работают потоковое видео и аудио
- Как работает телевидение
- Как работает форматирование видео
- Как работает YouTube
Больше отличных ссылок
- Сеть разработчиков Microsoft
- Официальный сайт Microsoft Silverlight
Источники
- Купер, Чарльз. «Мы все любим эту Олимпиаду, верно? Не Adobe». CNet. 14 августа 2008 г. (10 сентября 2008 г.) http://news.cnet.com/8301-10787_3-10017507-60.html?tag=nefd.top
- Фроммер, Дэн. «Adobe: Silverlight Кто? Флэш-видео доминирует на Олимпийских играх во всем мире». Инсайдер Кремниевой аллеи. 27 августа 2008 г. (9 сентября 2008 г.) http://www.alleyinsider.com/2008/8/adobe-silverlight-who-flash-video-dominated- olympics-world-adbe-msft-
- Ламоника, Мартин. «Silverlight для Linux? Мы в деле, - говорит основатель Mono». CNet. 1 мая 2007 г. (10 сентября 2008 г.) http://news.cnet.com/8301-10784_3-9714669-7.html
- Лермонт, Майкл. «NFL, NBC Tap Adobe Flash для живого футбола». Инсайдер Кремниевой аллеи. 4 сентября 2008 г. (10 сентября 2008 г.) http://www.alleyinsider.com/2008/9/nfl-nbc-tap-adobe-s-flash-for-live-football
- Макдональд, Мэтью. «Основы Silverlight 2 Visual». Апресс. 2008 г.
- Макдональд, Мэтью. «Открытие Silverlight и ASP.NET». Springer. 2007 г.
- Матищик, Крис. «Разочарованы ли онлайн-рекламодатели в Олимпийских играх NBC?» CNet. 18 августа 2008 г. (10 сентября 2008 г.) http://news.cnet.com/8301-17852_3-10018721-71.html
- Сеть разработчиков Microsoft. «Программирование .NET Framework в Visual Studio». Ноябрь 2007 г. (9 сентября 2008 г.) http://msdn.microsoft.com/en-us/library/k1s94fta.aspx
- Сеть разработчиков Microsoft. "Silverlight". 2008 г. (8 сентября 2008 г.) http://msdn.microsoft.com/en-us/library/bb188743.aspx
- Сеть разработчиков Microsoft. «Windows Presentation Foundation». Ноябрь 2007 г. (8 сентября 2008 г.) http://msdn.microsoft.com/en-us/library/ms754130.aspx
- Microsoft Silverlight. "Новости." (10 сентября 2008 г.) http://www.microsoft.com/silverlight/news/default.aspx
- Морони, Лоуренс. «Начало веб-разработки, Silverlight и ASP.NET AJAX». Апресс, 2008.
- Шонфельд, Эрик. «Независимо от того, как NBC раскручивает это, веб-стратегия Олимпиады выходит из строя». TechCrunch. 25 августа 2008 г. (10 сентября 2008 г.) http://www.techcrunch.com/2008/08/25/no-matter-how-nbc-spins-it-olympics- web-strategy-come-up -а-неудачник /
- Стелтер, Брайан. «Интернет-аудитория игр стремительно растет для NBC и Yahoo». Нью-Йорк Таймс. 24 августа 2008 г. (10 сентября 2008 г.) http://www.nytimes.com/2008/08/25/sports/olympics/25online.html
- Учебники по Java. "Что такое объект?" 14 февраля 2008 г. (10 сентября 2008 г.) http://java.sun.com/docs/books/tutorial/java/concepts/object.html
- Венц, Кристиан. «Essential Silverlight». О'Рейли. 2008 г.
- Вильдермут, Шон. «Начало работы с Silverlight». О'Рейли. 2007 г.