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.