2009г.
Количество страниц:736
Широкие возможности новых технологий лучше всего раскрываются на практических примерах. Именно такой подход используется в книге "Flex 3. Сборник рецептов" для представления технологии Adobe Flex 3.
Рассчитанная на широкий круг читателей и весьма практичная книга "Flex 3. Сборник рецептов" содержит более 300 решений, используемых при построении интерактивных RIA-приложений и сайтов Web 2.0. Авторы рассматривают широкий круг вопросов: от основ Flex до использования визуальных компонентов, от работы с базами данных до рекомендаций по разработке приложений, от модульного тестирования до Adobe AIR.
Каждый рецепт содержит решение стандартной проблемы, объясняет, почему и как это решение работает, а также содержит примеры готового кода, которые читатель сможет сразу использовать в своих программах, что позволит быстро добиться практических результатов как опытным разработчикам Flex, так и новичкам, знакомящимся с этой технологией. Книга идеально подходит для тех, кто желает повысить эффективность разработки своих вебприложений.
Содержание:
Оглавление
Предисловие
1. Основы Flex и ActionScript
1.1. Создание проекта Flex в Flex Builder
1.2. Создание проекта библиотеки Flex в Flex Builder
1.3. Создание проекта ActionScript
1.4. Настройка параметров компилятора MXML в Flex Builder
1.5. Компиляция проекта Flex за пределами Flex Builder
1.6. Добавление слушателей событий в коде MXML
1.7. Задание свойств дочернего компонента, определенного в MXML, в коде ActionScript
1.8. Определение массивов и объектов
1.9. Ограничение доступа к переменным в ActionScript
1.10. Создание компонента в ActionScript
1.11. Каскадная передача события
1.12. Использование модели отделенного кода
1.13. Включение привязки для свойств компонента
1.14. Пользовательские события и передача данных с событиями
1.15. Прослушивание событий клавиатуры
1.16. Определение необязательных параметров методов
1.17. Проверка типа объекта
1.18. Определение и реализация интерфейса
2. Меню и компоненты
2.1. Прослушивание события щелчка на кнопке
2.2. Создание группы кнопок-переключателей
2.3. Использование ColorPicker для выбора цвета
2.4. Загрузка внешнего файла SWF
2.5. Назначение Tab-индексов компонентам
2.6. Задание свойства labelFunction
2.7. Получение данных для создания меню
2.8. Динамическое заполнение меню
2.9. Определение обработчиков событий для компонентов на базе меню
2.10. Вывод предупреждений
2.11. Работа с датами и компонент Calendar
2.12. Отображение и позиционирование нескольких всплывающих окон
2.13. Создание пользовательской рамки у всплывающего окна
2.14. Обработка событий focusIn и focusOut
3. Контейнеры
3.1. Позиционирование дочерних компонентов при управлении раскладкой
3.2. Процентное позиционирование и изменение размеров дочерних компонентов
3.3. Отслеживание позиции мыши в разных системах координат
3.4. Динамическое добавление и удаление дочерних компонентов в контейнере
3.5. Раскладки с ограничениями
3.6. Задание максимального и минимального размера дочерних компонентов в контейнере
3.7. Задание ограничений для строк и столбцов компонентов в контейнере
3.8. Использование ограничений при форматировании текста
3.9. Управление прокруткой и перетеканием в контейнерах
3.10. Управление раскладкой в компонентах Box
3.11. Инициализация контейнеров
3.12. Создание TitleWindow
3.13. Управление контейнером ViewStack через LinkBar
3.14. Привязка свойства selectedIndex компонента ViewStack к переменной
3.15. Отложенное создание компонентов для ускорения запуска
3.16. Создание контейнеров переменного размера и управление ими
3.17. Создание и управление блокировкой TabControl в TabNavigator
3.18. Создание компонента TabNavigator с функцией закрытия вкладок
3.19. Создание и управление Alert
3.20. Определение размеров и позиции диалогового окна в зависимости от вызывающего компонента
3.21. Управление несколькими всплывающими диалоговыми окнами
3.22. Прокрутка контейнера до определенного дочернего компонента
3.23. Создание шаблона с использованием IDeferredInstance
3.24. Ручное формирование раскладки контейнера
3.25. Вычисление и изменение размеров контейнера
3.26. Управление видимостью и раскладкой дочерних компонентов
3.27. Создание контейнера Tile с простой реструктуризацией
3.28. Фоновый рисунок и закругленные углы в HBox
3.29. Управление позиционированием и прокруткой дочерних компонентов
4. Текст
4.1. Правильное задание значения объекта Text
4.2. Привязка TextInput
4.3. Вывод рекомендаций при заполнении TextInput
4.4. Редактирование "на месте"
4.5. Получение списка всех шрифтов
4.6. Создание пользовательской версии TextInput
4.7. Задание стилевого оформления для текстовых блоков
4.8. Отображение графики и SWF в HTML
4.9. Выделение текста, введенного пользователем, в поле поиска
4.10. Работа с отдельными символами
4.11. Назначение стилей для кода HTML в TextField
4.12. Использование RichTextEditor
4.13. Применение встроенных шрифтов в HTML
4.14. Имитация тени в текстовых компонентах
4.15. Поиск последнего символа в TextArea
5. Компоненты List, Tile и Tree
5.1. Создание редактируемого списка
5.2. Значки для элементов List
5.3. Эффекты для обозначения изменений
5.4. Назначение itemRenderer для класса TileList
5.5. Данные XML в компоненте Tree
5.6. Создание рендерера для компонента Tree
5.7. Сложные объекты данных в компоненте Tree
5.8. Ограничение выделения элементов списка
5.9. Форматирование и проверка данных, введенных в редакторе элемента
5.10. Отслеживание выделенных элементов в TileList
5.11. Пустые элементы в рендерере
5.12. Создание контекстного меню
5.13. Настройка внешнего вида выделения в компоненте List
6. Компоненты DataGrid и AdvancedDataGrid
6.1. Создание пользовательских столбцов в DataGrid
6.2. Определение функций сортировки для столбцов DataGrid
6.3. Многостолбцовая сортировка в DataGrid
6.4. Фильтрация данных в DataGrid
6.5. Создание пользовательских заголовков для AdvancedDataGrid
6.6. Обработка событий компонентов DataGrid/AdvancedDataGrid
6.7. Выделение элементов в AdvancedDataGrid
6.8. Поддержка перетаскивания в DataGrid
6.9. Редактирование данных в DataGrid
6.10. Поиск в DataGrid и автоматическая прокрутка к результатам
6.11. Построение сводки плоских данных
6.12. Асинхронное обновление GroupingCollection
7. Рендереры и редакторы
7.1. Создание собственного рендерера
7.2. Использование ClassFactory для создания рендереров
7.3. Обращение к владельцу рендерера
7.4. Совмещение рендерера с редактором
7.5. Создание редактора для работы с несколькими полями данных
7.6. Объекты SWF в меню
7.7. Выбор DataGridColumn с CheckBoxHeaderRenderer
7.8. Создание автономного рендерера CheckBox для использования в DataGrid
7.9. Эффективное отображение графики в рендерере
7.10. Стилевое оформление itemRenderer и itemEditor во время выполнения
7.11. Состояния и переходы в itemEditor
7.12. Создание CheckBox для компонента Tree
7.13. Изменение размеров в рендерерах List
8. Графика, видео и звук
8.1. Загрузка и отображение графики
8.2. Отображение видео
8.3. Воспроизведение и приостановка файлов MP3
8.4. Позиционирование и управление громкостью для звукового файла
8.5. Объединение изображений
8.6. Применение сверточного фильтра
8.7. Передача видео с камеры экземпляру FMS
8.8. Работа с микрофоном и индикатор уровня громкости
8.9. Сглаживание видео в приложении Flex
8.10. Проверка коллизий на уровне пикселов
8.11. Чтение и сохранение изображения с веб-камеры
8.12. Объединение изображений
8.13. Использование опорных точек в данных FLV
8.14. Создание шкалы позиционирования
8.15. Чтение данных ID3 из файла MP3
8.16. Отображение пользовательской анимации во время загрузки
8.17. Отправка графики в приложениях Flex
8.18. Сравнение двух растровых изображений
9. Скины и стили
9.1. Использование таблиц CSS для стилевого оформления компонентов
9.2. Переопределение стиля по умолчанию для Application
9.3. Встроенные стили с использованием CSS
9.4. Переопределение базовых стилевых свойств
9.5. Настройка стилей во время выполнения
9.6. Загрузка CSS во время выполнения
9.7. Объявление стилей во время выполнения
9.8. Создание пользовательских стилевых свойств у компонентов
9.9. Использование нескольких тем оформления в одном приложении
9.10. Компиляция темы в файл SWC
9.11. Встроенные шрифты
9.12. Встраивание шрифтов из файла SWF
9.13. Скины со встроенными изображениями
9.14. Применение скинов из файла SWF
9.15. Скиновое оформление компонента на программном уровне
9.16. Программное скиновое оформление элементов управления с состояниями
9.17. Создание анимированных скинов на основе файла SWF
9.18. Настройка предварительной загрузки
10. Перетаскивание
10.1. Использование класса DragManager
10.2. Назначение посредника перетаскивания
10.3. Перетаскивание внутри списка
10.4. Перетаскивание между списками
10.5. Разрешение и запрет операций перетаскивания
10.6. Настройка посредника перетаскивания в списковых компонентах
10.7. Настройка индикатора сброса для списковых компонентов
11. Состояния
11.1. Назначение стилей и свойств в состояниях
11.2. Создание переходов для входа и выхода из состояний
11.3. Теги AddChildAction и RemoveChildAction
11.4. Фильтрация переходов по типам дочерних компонентов
11.5. Частичное применение перехода к некоторым дочерним компонентам
11.6. Определение состояния на базе другого состояния
11.7. Интеграция состояний с HistoryManagement
11.8. Фабрики экземпляров для состояний
11.9. Привязка данных для объектов, добавленных в состоянии
11.10. Добавление и удаление слушателей событий при изменении состояний
11.11. Добавление состояний в компоненты Flash
11.12. Работа с событиями изменения состояния
11.13. Динамическое построение и использование новых состояний и переходов
11.14. Создание пользовательских действий для состояний
12. Эффекты
12.1. Вызов эффектов в MXML и ActionScript
12.2. Создание пользовательского эффекта
12.3. Создание параллельных или последовательных серий эффектов
12.4. Пауза, инверсия и перезапуск эффектов
12.5. Создание пользовательских триггеров эффектов
12.6. Создание tween-эффектов
12.7. Использование фильтра DisplacementMapFilter в эффектах Flex
12.8. Создание эффекта анимации цвета
12.9. Использование фильтра свертки для создания tween-эффекта
13. Коллекции
13.1. Добавление, сортировка и выборка данных из ArrayCollection
13.2. Фильтрация коллекции ArrayCollection
13.3. Проверка модификации элементов в ArrayCollection
13.4. Создание объекта GroupingCollection
13.5. Создание иерархического провайдера данных
13.6. Перемещение по коллекции и сохранение текущей позиции
13.7. Создание объекта HierarchicalViewCollection
13.8. Фильтрация и сортировка XMLListCollection
13.9. Сортировка коллекции по нескольким полям
13.10. Хронологическая сортировка в коллекциях
13.11. Глубокое копирование ArrayCollection
13.12. Использование объектов данных с уникальными идентификаторами
14. Привязка данных
14.1. Привязка к свойству
14.2. Привязка к функции
14.3. Создание двусторонней привязки
14.4. Привязка свойств в коде ActionScript
14.5. Привязка в цепочках свойств
14.6. Привязка к свойствам XML с использованием E4X
14.7. Нестандартная привязка
14.8. Привязка к обобщенному объекту
14.9. Привязка к свойствам в динамических классах
15. Проверка данных, форматирование и регулярные выражения
15.1. Использование объектов Validator и Formatter с компонентами TextInput и TextArea
15.2. Создание пользовательского форматера
15.3. Создание универсального валидатора с использованием регулярных выражений
15.4. Создание валидатора для проверки кодов UPC
15.5. Проверка компонентов ComboBox и групп переключателей
15.6. Отображение ошибок проверки с использованием подсказок
15.7. Использование регулярных выражений для поиска адресов электронной почты
15.8. Использование регулярных выражений для поиска номеров кредитных карт
15.9. Использование регулярных выражений для проверки ISBN
15.10. Создание регулярных выражений с символьными классами
15.11. Символьные типы в регулярных выражениях
15.12. Поиск действительных IP-адресов с использованием подвыражений
15.13. Использование регулярных выражений для поиска совпадений переменной длины
15.14. Привязка совпадения к началу или концу логической строки
15.15. Обратные ссылки
15.16. Опережение и ретроспектива
16. Работа со службами и взаимодействие с сервером
16.1. Настройка HTTPService
16.2. REST-взаимодействия в приложениях Flex
16.3. Настройка и подключение к RemoteObject
16.4. Использование удаленных взаимодействий Flex с AMFPHP 1.9
16.5. Использование интерфейса IExternalizable для пользовательской сериализации
16.6. Отслеживание результатов нескольких параллельных вызовов службы
16.7. Публикация и подписка
16.8. Регистрация серверного типа данных в приложении Flex
16.9. Взаимодействие с веб-службами
16.10. Включение заголовка SOAP в запрос
16.11. Разбор полученного ответа SOAP
16.12. Защищенное взаимодействие с AMF
16.13. Отправка и получение двоичных данных через двоичный сокет
16.14. Взаимодействие с использованием XMLSocket
17. Взаимодействие с броузером
17.1. Подключение к внешнему URL-адресу
17.2. Работа с FlashVars
17.3. Вызов функций JavaScript из Flex
17.4. Вызов функций ActionScript из JavaScript
17.5. Изменение заголовка страницы HTML
17.6. Разбор URL-адреса с использованием BrowserManager
17.7. Глубокие ссылки на данные
17.8. Управление контейнерами через BrowserManager
17.9. Реализация нестандартного управления журналом броузера
18. Модули и общие библиотеки
18.1. Создание RSL-библиотеки
18.2. Междоменные RSL-библиотеки
18.3. Использование Flex Framework как RSL-библиотеки
18.4. Оптимизация RSL-библиотеки
18.5. Создание модуля на базе MXML
18.6. Создание модуля на базе ActionScript
18.7. Загрузка модуля с использованием ModuleLoader
18.8. Загрузка модуля с использованием ModuleManager
18.9. Загрузка модулей с другого сервера
18.10. Обмен данными с модулем
18.11. Передача данных модулям с использованием строк запросов
18.12. Оптимизация модулей с использованием отчетов компоновки
19. AIR API
19.1. Создание приложения AIR с использованием Flex Framework
19.2. Инструментарий командной строки AIR
19.3. Управление окнами
19.4. Создание меню
19.5. Чтение и запись в файл
19.6. Сериализация объектов
19.7. Шифрование при локальном хранении данных
19.8. Открытие и сохранение файлов
19.9. Навигация по файловой системе в AIR
19.10. Внешний API перетаскивания мышью
19.11. Взаимодействие с буфером обмена операционной системы
19.12. Отображение HTML
19.13. Взаимодействие между ActionScript и JavaScript
19.14. Работа с локальными базами данных SQL
19.15. Обнаружение и отслеживание сетевых подключений
19.16. Проверка бездействия пользователя
19.17. Создание фоновых приложений
20. FlexUnit и модульное тестирование
20.1. Создание приложения с использованием FlexUnit Framework
20.2. Создание приложения для запуска тестов FlexUnit
20.3. Создание тестового сценария FlexUnit
20.4. Включение тестового сценария в тестовый пакет
20.5. Выполнение кода перед и после каждого теста
20.6. Передача данных между тестовыми сценариями
20.7. Обработка событий в тестовых сценариях
20.8. Тестирование визуальных компонентов в FlexUnit
20.9. Установка и настройка Antennae
20.10. Построение автоматизированных тестовых пакетов
21. Компиляция и отладка
21.1. Трассировка без использования Flex Builder
21.2. Компилятор компонентов
21.3. Установка задач Flex Ant
21.4. Использование задач compc и mxmlc в задачах Flex Ant
21.5. Компиляция и развертывание приложений Flex, использующих RSL-библиотеки
21.6. Создание и отслеживание выражений в отладчике Flex Builder
21.7. Установка Ant View в автономной версии Flex Builder
21.8. Создание файла сборки Ant для автоматизации стандартных задач
21.9. Компиляция приложения Flex с использованием mxmlc и Ant
21.10. Построение документации в ASDoc и Ant
21.11. Компиляция приложений Flex с использованием Rake
21.12. Использование ExpressInstall в приложениях
21.13. Профилирование памяти в Flex Builder 3
22. Настройка, интернационализация и печать
22.1. Международные символы в приложении
22.2. Применение групп ресурсов для локализации приложений
22.3. Локализация с использованием ResourceManager
22.4. Локализация с использованием ресурсных модулей
22.5. Поддержка устройств IME
22.6. Обнаружение экранного диктора
22.7. Определение порядка перебора
22.8. Печать отдельных элементов приложения
22.9. Форматирование контента приложения для печати
22.10. Управление многостраничной печатью контента неизвестной длины
22.11. Печать колонтитулов
Алфавитный указатель |