Опубликован: 04.05.2010 | Доступ: свободный | Студентов: 4196 / 555 | Оценка: 4.64 / 4.44 | Длительность: 41:24:00
Лекция 12:

Rich Internet application

Silverlight 2.0

Версия Silverlight 2.0 была выпущена 14 октября 2008 года и включала в себя подмножество библиотек .NET Framework.

Архитектура Silverlight 2.0 представлена на рис. 16.13.

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

Рис. 16.13. Архитектура Silverlight 2.0

Среди возможностей Silverlight 2.0 можно отметить [20]:

  • поддержка .NET Framework вместе с библиотекой Rich Base Class Library: совместимое подмножество полной версии .NET Framework;
  • мощные встроенные элементы управления, включающие в себя DataGrid, ListBox, Slider, ScrollViewer, Calendar controls и другие;
  • поддержка усовершенствованных образов и шаблонов;
  • технология Deep Zoom, обеспечивающая интерактивность и навигацию по изображениям с высоким разрешением;
  • комплексная поддержка работы в сети;
  • расширенная языковая поддержка .NET Framework: Visual Basic, C#, JavaScript, IronPython и IronRuby;
  • улучшенная защита контента – Silverlight DRM на основе защиты контента PlayReady для связанных сред Silverlight;
  • улучшенная масштабируемость сервера и расширенная поддержка рекламных носителей;
  • кросс-платформенная и кросс-браузерная поддержка: Mac, Windows и Linux в Firefox, Safari, Internet Explorer.

Кроме этого стали доступны для скачивания Microsoft Silverlight Tools for Visual Studio 2008, которые включали в себя:

  • шаблоны для проектов Visual Basic и C#;
  • интеллисенс и генераторы кода для XAML;
  • отладку приложений Silverlight;
  • поддержку Web reference;
  • интеграцию с Expression Blend.

Silverlight 3.0

18 марта 2009 года на конференции MIX09 в Лас-Вегасе Microsoft продемонстрировала бета-версию. 10 июля 2009 года в ходе мероприятия See the Light Microsoft объявила об официальном выпуске RTM версии. В настоящее время последняя версия доступна для загрузки на сайте Microsoft.

Среди особенностей новой версии [21, 22]:

  • Поддержка высококачественного видео и аудио:
    • прямое вещание и доступность по запросу видео в формате HD (720p и выше) с динамическим изменением качества сигнала в зависимости от текущего канала;
    • поддержка форматов H.264/AAC Audio, основанных на MPEG-4;
    • видео высокой четкости в полноэкранном режиме, используя аппаратное ускорение GPU;
    • поддержка формата Raw AV для создания сторонних кодеков;
    • возможность защиты контента через DRM;
    • плавное потоковое воспроизведение (в режиме реального времени и по требованию) видео высокой четкости HD с разрешением 1080 точек и более с помощью службы IIS Media, поддерживающей технологию Smooth Streaming;
  • Новые графические возможности:
    • трехмерная графика, учитывающая перспективу;
    • поддержка аппаратного ускорения при работе с трехмерной графикой;
    • новый программный интерфейс растровых рисунков;
    • кэширование в виде растровых рисунков;
    • новый API для отрисовки графики;
    • поддержка приложений, использующих темы;
    • новые эффекты анимации, такие как эффекты пружины и отскока, делающие анимацию более естественной, и возможность создания собственных математических функций для описания анимации;
    • усовершенствованные обложки элементов управления, что позволяет разным приложениям совместно использовать стили и обложки элементов управления;
    • усовершенствованная поддержка визуализации текста и локальных шрифтов;
  • Новые возможности для создания интерактивных приложений ( RIA ):
    • более 60 готовых элементов управления с исходными кодами;
    • глубокое связывание (Deep linking), позволяющее создавать закладки для страниц в RIA-приложениях ;
    • Silverlight 3 разрешает выполнять поисковую оптимизацию в соответствии с потребностями, которые возникают при работе RIA-приложений ;
    • новые возможности по работе с данными – связывание между элементами, Data Forms, валидация данных, поддержка бизнес-объектов;
    • улучшенная производительность – кэширование библиотек, новые возможности Deep Zoom, бинарный XML, локальное связывание между Silverlight-приложениями;
  • Возможности работы без браузера:
    • поддержка ярлыков на рабочем столе и в меню "Пуск";
    • позволяет не запускать браузер при работе с приложениями;
    • высокая надежность, безопасность и использование "песочницы";
    • установка, не требующая прав администратора;
    • поддержка автоматического обновления;
    • проверка подключения к Интернету (с браузером и без него);
    • интеграция с Windows 7;
    • поддержка устройств с multitouch-интерфейсом;
  • Другие возможности:
    • доступ ко всем системным цветам для создания контрастных интерфейсов для слабовидящих пользователей;
    • управление цифровыми правами Silverlight, основанное на защите контента PlayReady, позволяет отображать в веб-браузере защищенный контент, используя шифрование по протоколу AES (Advanced Encryption Standard) или управление цифровыми правами Windows Media.

Silverlight 4.0

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

В ранних версиях потоковая передача от клиента на сервер передавались при помощи Flash-приложения или при помощи программы Expression Encoder; видеопоток передавался от клиента на сервер, а потом проигрывался с сервера в приложении Silverlight.

Для прямой трансляции аудио/видео с микрофона/веб-камеры, в четвертой версии, можно уже обходиться без Flash и Expression Encoder.

В табл. 16.3 отражена совместимость Silverlight различных версий с браузерами и операционными системами [19].

Таблица 16.3. Совместимость Silverlight с браузерами и ОС
ОС/Браузер IE 6 SP1 IE 7 IE 8 Firefox Safari Opera Google Chrome
Windows Vista/2008 1.0, 2.0, 3.0 2.0, 3.0 1.0, 2.0, 3.0 1.0, 2.0; через NPAPI Неофициально 2.0
Windows XP/2003/Home Server 1.0, 2.0, 3.0 2.0, 3.0 1.0, 2.0, 3.0 1.0, 2.0; через NPAPI Неофициально 2.0
Windows 2000 2.0 2.0 Неофициально 2.0; через NPAPI Запланирована
Windows Mobile 6 2.0
Mac OS 10.4/10.5 PowerPC 1.0 1.0 Запланирована
Mac OS 10.4/10.5 Intel 1.0, 2.0 1.0, 2.0 Запланирована
  • Opera получит официальную поддержку в следующих версиях. Silverlight уже поддерживает Opera неофициально, с помощью хака.
  • Для ОС GNU/Linux, функциональность будет доступна через Moonlight.
  • Silverlight for Mobile будет использоваться для того, чтобы сделать доступным Silverlight приложения на мобильных устройствах.
  • Silverlight требует x86-процессор с поддержкой SSE. Поддерживаются процессоры Intel Pentium III и выше, и AMD Athlon XP и выше. Некоторые модели AMD Duron тоже поддерживаются.

Основными преимуществами технологии Silverlight являются [4]:

  • общий с .Net язык и среда разработки;
  • Silverlight открыто все сообщество .Net разработчиков;
  • активно развивается и продвигается Microsoft;
  • автоматически доступен в новых инсталляциях Windows;
  • плагин Silverlight уже установлен на примерно 60% операционных систем.

Основными недостатками технологии Silverlight являются [4]:

  • доступен не для всех комбинаций платформа/браузер;
  • на технологии Silverlight все еще создано недостаточно много приложений (по сравнению с Adobe Flash /Flex);
  • небольшое количество библиотек и компонентов, в том числе open source компонент (по сравнению с другими платформами).

16.2.4. Технологии Oracle (Sun)

Рассмотрим также RIA -технологии компании Sun Microsystems, которая с января 2010 года входит в состав Oracle Corporation.

Если обратиться к истории, то Java-апплеты были самой первой RIA -технологией, которая стала доступной еще в 1995 г. [5]. Однако апплеты не получили такого широкого распространения, как, например, Flash-плеер. Это обусловлено рядом причин. Так, для запуска Java-апплета может требоваться специфическая версия виртуальной машины Java, обладающая большим "весом", при этом не предусмотрено прозрачной для пользователя процедуры ее установки и обновления в браузере. Для старта апплета необходим запуск виртуальной машины, что требует достаточно продолжительного времени. С точки зрения внешнего вида большинство апплетов также оставляют желать лучшего. Кроме того, отсутствуют специальные инструменты для дизайнера.

Сейчас в Sun решают эти проблемы, и многие минусы уже устранены в рамках проекта Java SE 6 Update N. А еще появились и новая визуальная тема Nimbus, обладающая современным дизайном, и набор средств по определению и установке требуемой версии JRE (причем для ее запуска не обязательно дожидаться скачивания всех библиотек), и возможность быстрого запуска виртуальной машины.

16.2.4.1. Технология JavaFX

JavaFX – это платформа для создания Rich Internet Applications ( RIA s), которые могут запускаться на персональных компьютерах и мобильных устройствах [23]. Технология JavaFX позволяет создавать приложения для работы с мультимедийным контентом, графические интерфейсы пользователя для бизнес-приложений, игры для персональных компьютеров и мобильных устройств, насыщенные графикой, мультимедиа веб-сайты и др.

JavaFX был разработан специалистом по пользовательским интерфейсам Кристофером Оливером, когда он работал в компании See Beyond, и на уровне проекта язык назывался F3 (Form Follows Function), что можно перевести как "форма, следующая за функцией" [24]. В 2005 году компания See Beyond была куплена Sun Microsystems, после чего состоялось первое переименование языка F3 в Java F3, а затем и второе – в JavaFX.

Впервые от лица Sun объявление о выпуске JavaFX было сделано на конференции JavaOne в мае 2007 года, а с июля 2008-го открылась возможность загружать JavaFX SDK для Windows и Mac OS, а также плагин JavaFX для NetBeans 6.1. Развитием мультимедийных возможностей JavaFX занимаются специализирующиеся в этой области компании On2 Technologies и TrueMotion Video.

Платформа JavaFX 1.0 включает в себя следующие компоненты [25] (рис. 16.14):

  • Средства разработки JavaFX 1.0 SDK – компилятор и среда исполнения JavaFX, язык программирования JavaFX Script, а также графические, медийные и веб-библиотеки для создания RIA-приложений для настольных компьютеров, веб-сайтов и мобильных устройств.
  • Среда разработки NetBeans IDE 6.5 с поддержкой JavaFX 1.0 – интегрированная среда разработки для создания, просмотра и отладки приложений, написанных на JavaFX Script. В редакторе JavaFX Script есть возможность быстрого добавления объектов JavaFX с уже готовыми геометрическими фигурами, компонентами интерфейса пользователя, средствами преобразования и анимацией.
  • JavaFX 1.0 Production Suite – набор инструментов и плагинов для экспорта графических объектов в приложения JavaFX. Включает следующие компоненты:
    • Плагины JavaFX 1.0 для графических редакторов Adobe Photoshop CS3 и Adobe Illustrator CS3. С помощью плагинов можно экспортировать графические объекты из этих приложений в код JavaFX Script.
    • JavaFX 1.0 Media Factory: набор инструментов для конвертирования SVG-графики в код JavaFX и просмотра графических объектов, импортированных в JavaFX из других форматов. Также включает примеры приложений, учебные курсы, статьи, API-документацию и примеры кода.
      Компоненты для создания RIA-приложений

      Рис. 16.14. Компоненты для создания RIA-приложений

      Источник: JavaOne: Sun rolls out JavaFX [26]

Приложения JavaFX создаются с помощью декларативного языка программирования JavaFX Script. Для разработки приложений на языке JavaFX Script необходимо скачать и установить JavaFX 1.0 SDK.

Из кода, написанного на языке JavaFX Script, можно обращаться к любым библиотекам Java. Поэтому совместное использование языков Java и JavaFX Script позволяет решать разнообразные задачи, например, логика бизнес-приложения может быть написана на Java, а графический интерфейс пользователя – на JavaFX Script.

Приложения, написанные на языке JavaFX Script, могут запускаться на компьютерах с установленной средой исполнения Java 1.5 и выше. В настоящее время поддерживаются следующие операционные системы: Windows, Mac OS X, GNU/Linux и Solaris.

Для создания приложений для мобильных устройств разработчикам предлагается мобильный эмулятор, входящий в состав JavaFX 1.0 SDK.