16.2.5. Другие технологии
Существуют и другие технологии создания RIA-приложений [4].
Одной из таких технологий является Google Gears – модуль расширения для браузера, позволяющий AJAX-приложениям расширить ограничения песочницы. К осноным возможностям Google Gears относятся:
- доступность ресурсов offline;
- локальная SQL Lite база данных, синхронизация данных с сервером;
- асинхронные задачи;
- выбор нескольких файлов для загрузки;
- превью картинок;
- drag-and-drop.
Однако осенью 2009 года представители Google остановили работы по развитию технологии Google Gears в пользу HTML 5.0, продолжая только ее поддержку.
Спецификация HTML 5.0, находящаяся сейчас в разработке, поддерживает многие элементы RIA:
- рисование 2D-картинок в реальном времени;
- контроль над проигрыванием медиафайлов;
- хранение данных в браузере;
- drag-and-drop;
- работа с сетью, push технология.
12.2.6.
16.2.7. Сравнение технологий
Приведем сравнение технологий создания RIA-приложений (табл. 16.4) [10, 27, 28].
Таблица
16.4.
Сравнение технологий создания RIA-приложений
Технологии |
WPF |
Silverlight 3.0 |
Flex |
Flash |
Air |
JavaFX |
Основные характеристики |
OS |
Windows |
Windows
MacOS
Linux |
Windows
MacOS
Linux |
Windows
MacOS
Linux |
Windows
MacOS
Linux |
Windows
MacOS
Linux |
Браузеры |
IE, Firefox |
IE, Firefox, Safari, Chrome |
IE, Firefox, Safari, Opera, Netscape, Chrome |
IE, Firefox, Safari, Opera, Netscape, Chrome |
- |
IE, Firefox, Safari, Opera, Netscape, Chrome |
Опенсорность |
+/- |
- |
+/- |
- |
+/- |
+ |
Разработка |
Языки |
XAML+CLS (C#, VB…) |
XAML+
JavaScript/
CLS(C#, VB…)/DLR
(Python) |
MXML+
ActionScript |
ActionScript |
MXML/
ActionScript/JavaScript/
HTML |
JavaFX Script, Java platform (Java, Groovy…) |
Data Binding |
+ |
+ |
+ |
- |
+ |
+ |
Декларативный язык разметки |
+ |
+ |
+ |
- |
+ |
+ |
Смешивание разметки и кода |
+ |
+ |
+ |
- |
+ |
+ |
Code Behind |
+ |
+ |
+ |
- |
+ |
+ |
Инструментарий |
Инструментарий |
Visual Studio, Microsoft Expression
(Blend…), XamlPad, Notepad… |
Visual Studio, Microsoft Expression
(Blend…), Notepad |
Flex Builder, Thermo, Notepad… |
Flash, Flash
Develop, FDT |
Flex Builder, Aptana Studio, Notepad… |
NetBeans, Eclipse, JavaFX Pad, JFXBuilder, Notepad |
WYSIWYG-редакторы |
Expression Blend, Visual Designer for WPF |
Expression Blend |
Flex Builder, Thermo |
Flash |
Flex Builder, Thermo, Flash |
JFXBuilder |
Платформы для разработки |
Windows |
Windows |
Windows
MacOS
Linux |
Windows
MacOS |
Windows
MacOS
Linux |
Windows
MacOS
Linux |
Стоимость SDK |
Бесплатно |
Бесплатно |
Бесплатно |
~$699 |
Бесплатно |
Бесплатно |
Фрэймворки |
GUI-фрэймворк |
Компоненты и
лэйауты |
Компоненты
лэйауты |
Компоненты и
лэйауты |
Компоненты |
Компоненты и
лэйауты |
Компоненты и
лэйауты |
Расширяемость |
+ |
+ |
+ |
+ |
+ |
+ |
Drag-n-drop |
+ |
+ |
+ |
- |
+ |
+ |
Компоненты сторонних разработ-чиков |
+ |
+ |
+ |
+ |
+ |
- |
Поддержка accessibility |
+ |
+ |
+ |
+ |
+ |
+ |
GUI Automation |
+ |
+ |
+ |
+ |
- |
+ |
Кастомизация/скинизация |
Кастомизация внешнего вида компонент |
+ |
+ |
+ |
+ |
+ |
+ |
Designtime skinning (styling) |
+ |
+ |
+ |
+ |
+ |
+ |
Runtime skinning (styling) |
+ |
+ |
+ |
- |
+ |
+ |
Видео |
Кодеки |
(Windows Media Player) |
WMV, VC-1, H.264, ACC Video, DRM
|
Sorenson Spark, On2 VP6-E, On2 VP6-S, H.264,
flv |
Sorenson Spark, On2 VP6-E, On2 VP6-S, H.264 ,
flv |
Sorenson Spark, On2 VP6-E, On2 VP6-S, H.264 ,
flv |
- |
Hardware Acceleration |
+ |
+ |
+ |
+ |
+ |
|
HD-видео |
+ |
+ |
+ |
+ |
+ |
|
DRM |
+ |
+ |
- |
- |
- |
|
Streaming |
+ |
+ |
+ |
+ |
+ |
|
Звук |
Форматы |
(Windows Media Player) |
MP3, WMA, DRM
|
MP3, AAC
|
MP3, AAC
|
MP3, AAC
|
AU, AIFF, WAV, MIDI |
VoIP |
- |
- |
- |
- |
- |
- |
Наличие VoIP-решений |
+ |
- |
+ |
+ |
+ |
_ |
Графика |
Встроенная поддержка 3D |
+ |
+ |
- |
- |
- |
- |
Векторная графика |
+ |
+ |
+ |
+ |
+ |
+ |
Загрузка JPG |
+ |
+ |
+ |
+ |
+ |
+ |
Загрузка PNG |
+ |
+ |
+ |
+ |
+ |
- |
Загрузка GIF |
+ |
- |
+ |
+ |
- |
+ |
Hardware acceleration |
+ |
+ |
- |
- |
- |
+ |
Битмап-эффекты |
+ |
+ |
+ |
+ |
+ |
+ |
Дополнительно |
Поддержка микрофона |
+ |
-* |
+ |
+ |
+ |
- |
Поддержка вебкамеры |
+ |
-* |
+ |
+ |
+ |
- |
Полноэкранный режим |
+ |
+ |
+ |
+ |
+ |
- |
Клиент/сервер
Протоколы |
Все, что поддерживает .NET |
XML(JSON, Web services, RSS, POX, REST), WCF Services |
HTTP, Socket, XML, AMF, RTMP |
HTTP, Socket, XML, AMF, RTMP |
HTTP, Socket, XML, AMF, RTMP |
Все, что поддерживает Java-платформа |
* Ожидается в версии Silverlight 4.0.
Колонка для WPF касается XBAP, а колонка JavaFX – апплетов на базе JavaFX, так как эти виды приложений ориентированы на веб, когда JavaFX и WPF-приложения могут быть, а могут и не быть связанными с Веб.
16.2.8. Ключевые термины
Adobe Flash, Adobe Flex, Adobe AIR, Ajax, XMLHttpRequest, ActiveX, Windows Presentation Foundation, Microsoft Silverlight, JavaFX, Google Gears, HTML 5.0.