1. GUMBO
(Flex Framework 4)
Бесплатный фреймворк с открытым кодом для разработки
насыщенных интернет приложений (RIA), которые
поддерживаются всеми ведущими браузерами, платформами и
операционными системами.
Skype: mr.dr.jr. Email: Mr_Dr_Jr@me.com
Sunday, May 30, 2010
2. Flex 4 концепция и структура
Работа в Flex 4 основана на трех принципах:
Все внимание дизайну: среда разработки обеспечивает новый
уровень выразительности конечных проектов, благодаря
использованию новых инструментов.
Продуктивность разработки: улучшенная производительность
компилятора и языковых функций, таких как привязка данных.
Эволюция фреймворка: новые возможности проигрывателя Flash
Player в сочетании с новыми функциями.
Sunday, May 30, 2010
3. Flex 4 концепция и структура
Улучшенный компилятор Spark Продвинутый CSS
Скин
Двустороннее Типизированные
связывание данных массивы (Vector)
Модель компонента
Расширенная работа с
Компоненты Spark Поддержка FTE/TLF
состояниями
Трансформация
Графические Улучшенная
элементов
примитивы анимация
компоновки
Динамический
Поддержка FXG Встроенный OSMF
layout
Sunday, May 30, 2010
4. Язык разметки MXML и пространства имен
MXML 2006: Пространство имен языка MXML предыдущей версии.
Префикс по умолчанию: mx
MXML 2009: Новое пространство имен языка MXML. Представляет
собой только пространство имен языка, не содержащее тегов
компонента.
Префикс по умолчанию: fx
Spark: Данное пространство имен включает все новые компоненты
Spark. Его необходимо использовать в сочетании с пространством
имен языка MXML 2009.
Префикс по умолчанию: s
MX: Данное пространство имен включает все компоненты MX. Его
необходимо использовать в сочетании с пространством имен
языка MXML 2009.
Префикс по умолчанию: mx
Sunday, May 30, 2010
6. Flex 4 – улучшение продуктивности
Двустороннее связывание данных
text=“@{myModel.data}”
<fx:Binding source=“foo.text” destination=“myModel.data” twoWay=“true” />
Улучшена работа с CSS
Многочисленные StyleName:
<Button id=“upButton” styleName=“default tiny” />
ID селекторы:
#upButton { fontSize: 14 }
Селекторы дочерних элементов:
s|Scrollbar #upButton { baseColor: #FF8888 }
Псевдо селекторы:
s|Scrollbar #upButton:over { baseColor: #8888FF }
Неймспейсы в CSS
@namespace s "library://ns.adobe.com/flex/spark";
Sunday, May 30, 2010
7. Новый механизм создания анимации
Работа с любыми объектами (не только UIComponents)
Анимация свойств и частей компонента
Автоматический возврат при смене состояний
Поддержка фильтров, в том числе и Pixel Bender
Трансформации в трех измерениях
Поддержка ключевых кадров
Sunday, May 30, 2010
8. Компоновка (Layout)
Динамическая
Есть возможность создать Custom Layout
Поддержка двумерных и трехмерных трансформаций
Управление вложенностью
Виртуализация
Плавный скроллинг
Sunday, May 30, 2010
9. Flex 4 – Поддержка ASDoc в документах MXML
<?xml version="1.0"?>
<!–- Стандартный комментарий-->
<!--- ASDoc Коментарий для класса. -->
<mx:VBox xmlns="http://ns.adobe.com/mxml/2009" xmlns:mx="library:adobe/flex/halo" >
<!--- Коментарий для кнопки-->
<mx:Button id="myButton" label="This button has comment" />
<!--- Этот комментарий не принадлежит никакому компоненту и будет проигнорирован-->
</mx:VBox>
Sunday, May 30, 2010
11. Графика в MXML
Простые Формы
(прямоугольники, эллипсы, окружности и другие)
Сложные Линии
(прямые, квадратичные, кривые Безье)
Широкий спектр заливок и контуров
(сплошные, прозрачные, с использованием картинок,
градиенты)
Маскирование, фильтры, режимы смешивания
(размытие, сияние, тень)
Цвета и 2D трансформации
(поворот, масштабирование, оттенок)
Интегрированный текст, картинки
Sunday, May 30, 2010
12. Flash XML Graphics (FXG)
FXG: графический формат Инструменты для дизайна и разработки
основанный на XML
Распознается графическими Flash CS4 Flash Flash
Professional Catalyst
редакторами Builder
Интерактивное Создание
Eclipse IDE
Базируется на модели отрисовки содержание прототипов
10 flash плейера Анимация Разработка Анализ кода
рабочих
Статический – без связываний, Визуальная
компоновка
процессов
Отладка
без компоновки, без слушателей
событий, без стилизации
Оптимизируется FXG
компилятором (важно для
высокой производительности)
After Effects Illustrator Fireworks Photoshop
Sunday, May 30, 2010
13. Пример FXG:
<?xml version="1.0" encoding="utf-8"?>
<!-- fxg/comps/ArrowAbsolute.fxg -->
<Graphic xmlns="http://ns.adobe.com/fxg/2008" version="2">
<Path data="M 20 0 C 50 0 50 35 20 35 L 15 35 L 15 45 L 0 32 L 15 19 L 15 29 L 20 29 C 44 29"/>
<!-- Define the border color of the arrow. -->
<stroke>
<SolidColorStroke color="#888888"/>
</stroke>
<!-- Define the fill for the arrow. -->
<fill>
<LinearGradient rotation="90">
<GradientEntry color="#000000" alpha="0.8"/>
<GradientEntry color="#FFFFFF" alpha="0.8"/>
</LinearGradient>
</fill>
</Path>
</Graphic>
Sunday, May 30, 2010
14. High-Fidelity Text
FTE: Новый механизм работы с текстом
(Flash Player 10)
TLF: Новые компоненты используют
FTE.
Преимущества:
Текст в нескольких связанных контейнерах
Вертикальный текст
Множество столбцов
Лигатуры и типографические элементы
Работа с пользовательскими шрифтами
Двунаправленный текст
Sunday, May 30, 2010
15. Стейты во Flex 3
Сложны в использовании
Многословные в описании
Сложное управление иерархией
Трудно оптимизируемые
<states>
<State name=”login”>
<SetProperty target=“{goBtn}” name=“label” value=“log in” />
</State>
<State name=”register”>
<SetProperty target=“{goBtn}” name=“label” value=“sign up” />
<AddChild target=“vBox”>
<Checkbox label=“Agree to terms” />
</AddChild>
</State>
</states>
<VBox id=“vBox” >
<Text text=“username:” />
<TextInput />
<Text text=“password:” />
<TextInput />
<Button label=“new user?” />
<Button id=“goBtn” />
</VBox>
Sunday, May 30, 2010
16. Стейты во Flex 3
Сложны в использовании
Многословные в описании
Сложное управление иерархией
Трудно оптимизируемые
<states>
<State name=”login”>
<SetProperty target=“{goBtn}” name=“label” value=“log in” />
</State>
<State name=”register”>
<SetProperty target=“{goBtn}” name=“label” value=“sign up” />
<AddChild target=“vBox”>
<Checkbox label=“Agree to terms” />
</AddChild>
</State>
</states>
<VBox id=“vBox” >
<Text text=“username:” />
<TextInput />
<Text text=“password:” />
<TextInput />
<Button label=“new user?” />
<Button id=“goBtn” label.login=”log in” label.register=”sign up”/>
/>
</VBox>
Sunday, May 30, 2010
17. Стейты во Flex 3
Сложны в использовании
Многословные в описании
Сложное управление иерархией
Трудно оптимизируемые
<states>
<State name=”login”>
<SetProperty target=“{goBtn}” name=“label” value=“log in” />
</State>
<State name=”register”>
<SetProperty target=“{goBtn}” name=“label” value=“sign up” />
<AddChild target=“vBox”>
<Checkbox label=“Agree to terms” />
</AddChild>
</State>
</states>
<VBox id=“vBox” >
<Text text=“username:” />
<TextInput />
<Text text=“password:” />
<TextInput />
<Button label=“new user?” />
<Button id=“goBtn” label.login=”log in” label.register=”sign up”/>
/>
<Checkbox includeIn=“register” label=“agree to terms” />
</VBox>
<Button id=“goBtn” label.login=”log in” label.register=”sign up”/>
</VBox>
Sunday, May 30, 2010
19. Скинование и архитектура компонентов
MXML
MX
Component/Skin
Component
Model
Graphics
Layout
Animation
Parts
States
Behavior
Logic
Data
Sunday, May 30, 2010
20. Скинование и архитектура компонентов
ActionScript MXML
Spark
Component Skin
Component
Model
Behavior Graphics
Logic Layout
Animation
Data CSS
Parts
properties States
Sunday, May 30, 2010
The Flex framework now includes support for graphic primitives. These graphic primitives can be used directly within your Flex app and support all of the behavior associated with the more traditional Flex components.
The Flex framework now includes support for graphic primitives. These graphic primitives can be used directly within your Flex app and support all of the behavior associated with the more traditional Flex components.
The Flex framework now includes support for graphic primitives. These graphic primitives can be used directly within your Flex app and support all of the behavior associated with the more traditional Flex components.
The Flex framework now includes support for graphic primitives. These graphic primitives can be used directly within your Flex app and support all of the behavior associated with the more traditional Flex components.
The Flex framework now includes support for graphic primitives. These graphic primitives can be used directly within your Flex app and support all of the behavior associated with the more traditional Flex components.
The Flex framework now includes support for graphic primitives. These graphic primitives can be used directly within your Flex app and support all of the behavior associated with the more traditional Flex components.
FXG is the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. One thing to note is that enabling runtime graphics can be expensive, so we&#x2019;ve also enabled the compiler to optimize FXG directly into SWF tags understood natively by the Flash Player. This provides flexibility to have your graphics tags editable by the editor of your choice, while enabling top performance where it&#x2019;s important.
FXG is the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. One thing to note is that enabling runtime graphics can be expensive, so we&#x2019;ve also enabled the compiler to optimize FXG directly into SWF tags understood natively by the Flash Player. This provides flexibility to have your graphics tags editable by the editor of your choice, while enabling top performance where it&#x2019;s important.
FXG is the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. One thing to note is that enabling runtime graphics can be expensive, so we&#x2019;ve also enabled the compiler to optimize FXG directly into SWF tags understood natively by the Flash Player. This provides flexibility to have your graphics tags editable by the editor of your choice, while enabling top performance where it&#x2019;s important.
FXG is the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. One thing to note is that enabling runtime graphics can be expensive, so we&#x2019;ve also enabled the compiler to optimize FXG directly into SWF tags understood natively by the Flash Player. This provides flexibility to have your graphics tags editable by the editor of your choice, while enabling top performance where it&#x2019;s important.
FXG is the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. One thing to note is that enabling runtime graphics can be expensive, so we&#x2019;ve also enabled the compiler to optimize FXG directly into SWF tags understood natively by the Flash Player. This provides flexibility to have your graphics tags editable by the editor of your choice, while enabling top performance where it&#x2019;s important.
FXG is the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. One thing to note is that enabling runtime graphics can be expensive, so we&#x2019;ve also enabled the compiler to optimize FXG directly into SWF tags understood natively by the Flash Player. This provides flexibility to have your graphics tags editable by the editor of your choice, while enabling top performance where it&#x2019;s important.
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]
One area of Flex that needed improvement is States. Although the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been.
[next slide explains the changes]