Table Of Content«Эта книга будет вашим надежным спутником на пути ков(cid:20)
ладению мастерством разработки в Adobe Flex 3. Шаг за М
шагом вы научитесь создавать свои собственные функцио(cid:20)
а
нальные и привлекательные приложения.»
с
Аларик Коул
т
е
Книга представляет собой введение в мир Adobe Flex
р
истанет отличным руководством для всех, кто хочет изучить
а
эту технологию «с нуля». Издание охватывает все основные
аспекты разработки Flex(cid:8)приложений, начиная со знакомства F
с необходимыми инструментами и заканчивая распро(cid:8) L
странением результатов работы. Кратко, не перегружая A
Аларик Коул
читателя излишней информацией, описаны базовые воз(cid:8) S
можности ActionScript и MXML.
работает с Flash(cid:8)технологиями H
Автор сопровождает свой рассказ множеством примеров
с момента появления языка
и предлагает сразу же применять полученные навыки на
ActionScript. Он специализиру(cid:8)
практике. Это позволяет уже с первых глав книги начать
ется прежде всего на разработ(cid:8)
ке в среде Flex: создании прило(cid:8) создание собственных насыщенных интернет(cid:8)приложений , И
которые по ходу чтения будут приобретать все более сложную
жений для бизнеса с улучшеной з
структуру и интерактивность. Все предлагаемые упражнения
визуализацией данных, насы(cid:8)
у
и примеры можно скачать со справочного веб(cid:8)сайта книги
щенных интерактивными средст(cid:8)
ч
ископировать соответствующий код в свои проекты, что
вами и расширениями пользова(cid:8)
а
поможет избежать досадных опечаток.
тельского интерфейса. Аларик
использует Flex(cid:8)технологии Это издание – отличный выбор для тех, кто хочет легко е
всвоей повседневной работе ибыстро научиться создавать как настольные, так и веб(cid:8) м
руководителя отдела разработ(cid:8) приложения на основе технологии Flex.
ки и консультанта по проектам F
компании Yahoo!. L
На его счету большое количест(cid:8) E
во компонентов с открытым ко(cid:8)
X
дом для сообщества Flex(cid:8)разра(cid:8)
ботчиков. Спрашивайте Джои Лотт Джои Лотт
3
наши книги Adobe AIR. ActionScript 3.0
Практичекое Сборник
Êàòåãîðèÿ: FLASH/FLEX руководство рецептов
Óðîâåíü ïîäãîòîâêè ÷èòàòåëåé: ñðåäíèé А
л
а
р
и
к
Сандро Корсаро К
Мультипликация о
у
и FLASH л
www.symbol.ru
Издательство «Символ(cid:15)Плюс»
(812) 324(cid:15)5353, (095) 945(cid:15)8100
По договору между издательством «Символ(cid:19)Плюс» и Интернет(cid:19)мага(cid:19)
зином «Books.Ru – Книги России» единственный легальный способ
получения данного файла с книгой ISBN 978(cid:19)5(cid:19)93286(cid:19)143(cid:19)1, назва(cid:19)
ние «Изучаем Flex 3. Руководство по разработке насыщенных
интернет(cid:19)приложений» – покупка в Интернет(cid:19)магазине «Books.Ru –
Книги России». Если Вы получили данный файл каким(cid:19)либо другим
образом, Вы нарушили международное законодательство и законо(cid:19)
дательство Российской Федерации об охране авторского права. Вам
необходимо удалить данный файл, а также сообщить издательству
«Символ(cid:19)Плюс» ([email protected]), где именно Вы получили дан(cid:19)
ный файл.
Learning
Flex 3
Getting up to Speed
with Rich Internet Applications
Alaric Cole
Изучаем
Flex 3
Руководство по разработке
насыщенных интернет(cid:23)приложений
Аларик Коул
Санкт(cid:6)Петербург–Москва
2009
Аларик Коул
Изучаем Flex 3. Руководство по разработке
насыщенных интернет(cid:23)приложений
Перевод А.Минаевой
Главный редактор А.Галунов
Зав. редакцией Н.Макарова
Выпускающий редактор П.Щеголев
Научный редактор М.Антипин
Редактор Ю.Бочина
Корректор C.Минин
Верстка Д.Орлова
КоулА.
Изучаем Flex 3. Руководство по разработке насыщенных интернет!
приложений.– Пер. с англ. – СПб.: Символ!Плюс, 2009.– 384с., ил.
ISBN 978!5!93286!143!1
Книга представляет собой введение в мир Adobe Flex и станет прекрасным по!
шаговым руководством для всех, кто хочет изучить эту технологию «с нуля».
Издание охватывает все аспекты разработки Flex!приложений, начиная со
знакомства с основными необходимыми инструментами и заканчивая распро!
странением результатов работы. Кратко, не перегружая читателя излишней
информацией, описаны базовые возможности ActionScript и MXML.
Автор сопровождает свой рассказ множеством примеров и предлагает сразу же
применять полученные навыки на практике. Это позволяет уже с первых глав
книги начать создание собственных насыщенных интернет!приложений, ко!
торые по ходу чтения будут приобретать все более сложную структуру и интер!
активность. Все упражнения и примеры можно скачать с веб!сайта книги и
скопировать код в свои проекты, что поможет избежать досадных опечаток.
Это издание – отличный выбор для тех, кто хочет легко и быстро научиться со!
здавать как настольные, так и веб!приложения на основе технологии Flex.
ISBN 978(cid:1)5(cid:1)93286(cid:1)143(cid:1)1
ISBN 978(cid:1)0(cid:1)596(cid:1)51732(cid:1)8 (англ)
© Издательство Символ!Плюс, 2009
Authorized translation of the English edition © 2008 O’Reilly Media, Inc. This trans!
lation is published and sold by permission of O’Reilly Media, Inc., the owner of all
rights to publish and sell the same.
Все права на данное издание защищены Законодательством РФ, включая право на полное или час!
тичное воспроизведение в любой форме. Все товарные знаки или зарегистрированные товарные зна!
ки, упоминаемые в настоящем издании, являются собственностью соответствующих фирм.
Издательство«Символ!Плюс».199034,Санкт!Петербург,16линия,7,
тел.(812) 324!5353, www.symbol.ru. Лицензия ЛП N 000054 от 25.12.98.
Налоговая льгота – общероссийский классификатор продукции
ОК 005!93, том 2; 953000 – книги и брошюры.
Подписано в печать 25.02.2009. Формат 70×1001 /16. Печать офсетная.
Объем 24 печ.л. Тираж 1500 экз. Заказ №
Отпечатано с готовых диапозитивов в ГУП «Типография «Наука»
199034, Санкт!Петербург, 9 линия, 12.
Adobe Developer Library (Библиотека Adobe для разработчиков), совме!
стный проект O’Reilly Media Inc. и Adobe Systems, Inc., – авторитет!
ный источник для разработчиков, использующих технологии Adobe.
Их всеобъемлющие ресурсы предлагают учебные решения, помогаю!
щие создавать передовые интерактивные веб!приложения, которые
могут использоваться практически кем угодно на любой платформе.
Adobe Developer Library представляет из первых рук книги высочайше!
го качества и инновационные ресурсы, посвященные новейшим ин!
струментальным средствам для разработки насыщенных интернет!
приложений. Таким образом Adobe Developer Library способствует под!
готовке высококвалифицированных специалистов. Область рассмотре!
ния охватывает ActionScript, программное обеспечение Adobe Flex®,
Adobe Flash® и Adobe Acrobat®.
Последние новости о книгах, сетевых ресурсах и прочее ищите на adobe(cid:26)
developerlibrary.com.
Оглавление
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Первое знакомство. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Что такое Flex? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Что такое Adobe AIR?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Для каких целей можно использовать Flex . . . . . . . . . . . . . . . . . . . . . . . 22
Почему именно Flex? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Сравнение Flex с другими технологиями . . . . . . . . . . . . . . . . . . . . . . . . . 27
Когда не нужно использовать Flex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2. Настройка вашей системы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Альтернативы Flex Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Знакомство с Flex Builder и Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Запуск вашего первого приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3. Работа в режиме Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Чистая доска: ваш рабочий холст . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Добавление компонентов в приложение. . . . . . . . . . . . . . . . . . . . . . . . . . 46
Перемещение компонентов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Основные компоненты Flex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Изменение свойств компонентов врежимеDesign . . . . . . . . . . . . . . . . . 51
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4. Работа в режиме Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Что происходит при работе в режиме Design . . . . . . . . . . . . . . . . . . . . . . 63
Анатомия Flex!приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Добавление компонентов в режиме Source. . . . . . . . . . . . . . . . . . . . . . . . 65
Автозаполнение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Постигая глубины MXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8 Оглавление
5. Основы написания сценариев . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
ActionScript, встроенный в MXML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Точечная нотация. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Присваивание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Типы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Классы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Союз MXML и ActionScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Взаимоотношения ActionScript с MXML . . . . . . . . . . . . . . . . . . . . . . . . . 88
Комментарии. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6. Создание интерактивных приложений
спомощью ActionScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Что такое событие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Обработка событий внутри MXML!кода . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Константы событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Приложение в действии. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Отладка в свое удовольствие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
7. Использование связывания данных. . . . . . . . . . . . . . . . . . . . . . . . . .111
Что такое связывание данных? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
Как его использовать? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
Двунаправленное связывание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
Хранение структурированной информации. . . . . . . . . . . . . . . . . . . . . .119
Создание связываемых переменных спомощьюActionScript . . . . . .122
Когда не стоит использовать связывание данных. . . . . . . . . . . . . . . . .123
Применение метода связывания данныхнапрактике. . . . . . . . . . . . .124
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
8. Расположение элементов ввашемприложении . . . . . . . . . . . . . .131
Расположение компонентов приложения. . . . . . . . . . . . . . . . . . . . . . . .132
Список отображения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
Размер компонента. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
Возможности контейнеров размещения . . . . . . . . . . . . . . . . . . . . . . . . .143
Контейнеры с расширенными возможностями
расположения элементов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
Элементы расположения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Оглавление 9
Выравнивание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Использование ограничителей. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
9. Формы «со всеми удобствами». . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
Подготовка приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
Возможности проверки данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
Ограничение ввода данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Форматирование отображаемых данных . . . . . . . . . . . . . . . . . . . . . . . .187
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
10. Сбор и отображение информации . . . . . . . . . . . . . . . . . . . . . . . . . . .194
Использование элементов управлениясписком . . . . . . . . . . . . . . . . . .194
Использование данных в формате XML . . . . . . . . . . . . . . . . . . . . . . . . .201
Выбор пункта из списка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212
Подключение результатов поиска . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
Перемещение элементов списка. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .217
Использование встроенных представлений элементов. . . . . . . . . . . . .219
Знакомство с другими сервисными компонентами. . . . . . . . . . . . . . . .222
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
11. Управление расположением и видимостью компонентов. . . . .226
Управление видимостью компонента . . . . . . . . . . . . . . . . . . . . . . . . . . .226
Компоненты навигации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227
Создание приложения с фотоальбомом. . . . . . . . . . . . . . . . . . . . . . . . . .232
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
12. Состояния приложения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
Типичные случаи использования состояний . . . . . . . . . . . . . . . . . . . . .247
Создание нового состояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
Изменение свойств, стилей и событий состояния . . . . . . . . . . . . . . . . .250
Добавление компонентов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Использование состояний на практике. . . . . . . . . . . . . . . . . . . . . . . . . .258
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
13. Поведения, переходы, фильтры . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
Поведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277
Типичные эффекты и их свойства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286
Звуковые эффекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293
Новые возможности состояний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .295
Фильтры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305