Rich Internet application
Silverlight 2.0
Версия Silverlight 2.0 была выпущена 14 октября 2008 года и включала в себя подмножество библиотек .NET Framework.
Архитектура Silverlight 2.0 представлена на рис. 16.13.
Среди возможностей 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].
ОС/Браузер | 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-документацию и примеры кода.
Источник: 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.