530 likes | 711 Views
Использование технологии Flex при разработке RIA Доклад к конференции UniversITy. Вводная часть. Обзор технологии. Алексей Гончаров. RIA- приложения. 3. Работают в броузере или не требуют установки дополнительного ПО Работают локально в своей защищённой среде
E N D
Использование технологии Flex при разработкеRIA Доклад к конференции UniversITy
Вводная часть. Обзор технологии Алексей Гончаров
RIA-приложения 3 • Работают в броузере или не требуют установки дополнительного ПО • Работают локально в своей защищённой среде • Обновляют необходимое ПО до новых версий автоматически • Кросс-платформенные • Интегрируют в себе графику, звук, программный код, компоненты для обмена данными с сервером • Имеют высокую производительность
История версий Flex 4 • Flex 1.0 – Март 2004 • Flex 1.5 – Октябрь 2004 • Flex 2.0 Alpha – Октябрь 2005 • Flex 2.0 Beta 1 – Февраль 2006 • Flex 2.0 Beta 2 – Март 2006 • Flex 2.0 Beta 3 – Май 2006 • Flex 2.0 Final – Июнь 2006 • Flex 2.0.1 – Январь 2007 • Flex 3.0 Beta 1 – Июнь 2007 • Flex 3.0 Beta 2 – Октябрь 2007 • Flex 3.0 Beta 3 – Декабрь 2007 • Flex 3.0 – Февраль 2008 • Flex 4.0Beta 1 – анонсируется, 2008 • Flex 4.0 – анонсируется, 2009
Совокупность технологий 5 • ActionScript 3.0 – язык программирования, основанный на стандарте ECMA-262с новой событийной моделью, реализацией ООП и многим другим • MXML – язык описания интерфейсов, являющийся подмножеством XML • E4X – язык для работы с XML, основанный на стандартах ECMAScript • CSS – каскадные таблицы стилей для описания внешнего вида визуальных элементов управления.
GUI в Flash 6 Элементы управления в Flash создавались либо как экземпляры символов библиотеки, либо как компоненты с достаточно скудным набором свойств. ActionScript 2.0 имеет множество недостатков.
GUI в Flex 7 Элементы управления в Flex имеют множество параметров, могут легко изменять свой вид с помощью CSS-стилей, используют эффекты и могут быть расширены в соответствии с задачей. MXML позволяет легко описывать интерфейсы RIA-приложений.
Контейнеры 8 Контейнеры позволяют управлять положением графических элементов в окне приложения, объединять их в группы, обеспечивают необходимую гибкость при создании «резиновых» интерфейсов.
«Резиновый» GUI 9 • Контейнеры позволяют легко и быстро создавать «резиновый» • интерфейс. • Контейнер может быть дочерним объектом другого контейнера.
Flex как framework 10 Весь MXML-код преобразуется в ActionScript 3.0, а затем отдаётся компилятору. Любой компонент можно создать как с помощью MXML, так и с помощью ActionScript 3.0. Исходный код всех компонентов входит в Flex SDK.
CSS 11 С помощью каскадных таблиц стилей можно изменять внешний вид элементов управления. CSS внедряются в SWF-файл проекта на этапе его компиляции.
Взаимодействие Flex и серверной части проекта Сергей Павленко
WEB 2.0 и RIA 14 Основные свойства: • асинхронность запросов • сохранение состояния между переходами • большая гибкость приложения • наличие видео и звука
Технологии WEB 2.0 15 • AJAX (класс XMLHttpRequest) • Flash/Flex • Silverlight • JNLP (Java Network Launching Protocol) • Java FX (Java WEBStart Library) • Batik (Java SVG Graphic Toolkit)
Тест Acid3 17 www.acid3.acidtests.org
Firefox 2.0.0.13 18 52/100 (изображение сильно отличается от эталонного)
IE 7.0.5730.11 19 • 12/100 • (изображение совсем неразборчивое)
Opera 9.25 20 36/100 и вылетает
Safari 3.1 21 74/100 (изображение похоже на эталон)
22 Трудности разработки на JS • не следование стандартам W3C разработчиками браузеров • переносимость кода (кросбраузерность) • низкая производительность
23 http://oddhammer.com/actionscriptperformance/set4/
24 Легкость разработки с Flex Flex выводит разработку Вэб-приложений на новый уровень легкости разработки и сложности функционирования: • www.buzzword.com • www.photoshop.com/express • www.searchme.com
35 Коммуникационные возможности Flex • HTTPService (HTTP GET или POST) • WebService (доступ к службам, описанными WSDL 1.1; SOAP) • RemoteObject • RTMP (Real-Time Messaging Protocol) • Sockets (бинарные сокеты) • LocalConnection (локальный обмен данными)
36 Эффективность AMF http://www.jamesward.org/census/
37 Эффективность AMF
38 Пример приложения Flex и AMF Результат работы
39 Пример приложения Flex и AMF ActionScript класс Product.as
40 Пример приложения Flex и AMF PHP класс Product.php
41 Пример приложения Flex и AMF MXML коннектор
42 Пример приложения Flex и AMF Метод getProductList() класса ProductService
43 Фреймворки Flex для Back-End • AMFPHP [http://amfphp.sourceforge.net] • BlazeDZ [http://opensource.adobe.com/wiki/display/blazeds/BlazeDS] • SabreAMF [http://www.osflash.org/sabreamf] • Midnight Coders WebORB [http://www.themidnightcoders.com]
44 Примеры Flex приложений Александр Левашов