Adobe Flex Новая технология для создания RIA на базе Flash-платформы Константин Ковалев RIA-разработчик

Презентация:



Advertisements
Похожие презентации
Основы Adobe Flex FLASH PLATFORM – ОБЗОРНЫЙ КУРС. ЛЕКЦИЯ 5.
Advertisements

Виталий Хить (well). Виджеты Примеры кода Собственное обучение.
Разработка отладчика для программ на языке haXe и целевой платформы Adobe Flash 9 Выполнил студент 544 группыКрасько Н.Л. Научный руководительПлискин М.М.
Windows forms. Объявление события public delegate void SampleEventDelegate(object Sender, string e); public event SampleEventDelegate SampleEvent; public.
Студентка 545 группы Кантерина М.В. Элементы для Flash-приложений на языке haXe. Библиотека Sparkle. 1 Дипломная работа студентки 545 группы Кантериной.
JavaFX for interface TEACHER NAME | Oxana Dudnik.
Объявление события public delegate void SampleEventDelegate(object Sender, string e); public event SampleEventDelegate SampleEvent; public void CallEvent(string.
Богданов Марат Робертович Современные веб-технологии. Подробный курс RIA-приложения.
Selenium: Начало.. Особенности WEB-приложений Множество браузеров, отличающиеся реализацией Отсутсвие строгих правил в HTML Различные конфигурации на.
Введение в объектно- ориентированное программирование на JAVA Макаревич Л. Г.
Тема: Ресурсная система для MMO Докладчик: Сидоренко Дмитрий.
Сравнение реализаций пользовательских типов переменных в языках высокого уровня. typedef struct tagStack{ double data; struct tagStack* prev; }*stack;
Cairngorm Microarchitecture Павел Кожин Exigen Services
PHP&Flex - новая альтернатива для создания RIAs Иванников Андрей Улич Дмитрий.
AJAX Asynchronous Javascript and XML. Для чего нужен AJAX Недостаточная функциональность HTTP и HTML Не интерактивен Нет частичных обновлений Альтернативы.
CSS Cascading Style Sheets. Структура css селектор { свойство1: значение1; свойство2: значение2; }
НаследованиеНаследование2 class Point { double x; double y; Color color; }; class Radius { Point center; double radius; };
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
Введение в CSS. Базовый синтаксис CSS селектор { свойство1: значение; свойство2: значение; } селектор некоторое имя стиля, для которого добавляются параметры.
Урок информатики 10 класс Тема «Размещение текстовой информации на форме при помощи управляющих элементов» Учитель информатики МБОУ ОСОШ 1 Фирсов А.Н.
Транксрипт:

Adobe Flex Новая технология для создания RIA на базе Flash-платформы Константин Ковалев RIA-разработчик

Константин Ковалев Новая? Macromedia Flex 1.0 (март 2004) Flash Player 7, ActionScript 2 Macromedia Flex 1.5 (октябрь 2004) Flash Player 7, ActionScript 2 Macromedia Flex 2.0 public alpha 1 (октябрь 2005) Flash Player 8.5, ActionScript 3 Adobe Flex 2.0 (28 июня 2006) Flash Player 9 Adobe Flex (5 января 2007) Flash Player 9

Константин Ковалев Революционные особенности Flex 2 Возможность создания приложений без необходимости компиляции на сервере Бесплатный SDK Новая виртуальная машина Новая среда разработки на базе Eclipse Новый язык программирования ActionScript 3 Ориентирована на традиционных разработчиков

Константин Ковалев Насыщенные Интернет- приложения (RIA) Термин введен Macromedia в марте 2002

Константин Ковалев Adobe Flex 2 – мощная среда для создания RIA Объединение группы технологий на базе Flash- платформы Flex – это DSL для GUI (Брюс Эккель)

Константин Ковалев Продукты в составе Flex

Константин Ковалев Поддержка стандартов XML (MXML) ECMA-262, edition 4 (ActionScript 3) E4X (ECMAScript for XML из ECMA ed.) CSS, level 1 (CSS1) Событийная модель W3C DOM Level 3 Events specification J2EE (Adobe LiveCycle Data Services)

Константин Ковалев Flash Player 9 Альфа-версия появилась в октябре 2005 (как Flash Player 8.5) Релиз в июне 2006 Вес плеера по-прежнему в районе 1M (примерно на 300K больше Flash Player 8) Повышенная производительность

Константин Ковалев Встроенная поддержка классов Строгая типизация + динамика Ошибки времени исполнения Реорганизованный API + новые API JIT-компилятор Введены примитивные типы int и uint Регулярные выражения var example:RegExp = /(\d)abc(\d*)/g; либо var example:RegExp = new RegExp ("(\d)abc(\d*)", "g"); Проект Tamarin ActionScript 3

Константин Ковалев Display List API «Классовый» подход: var aButton:Button = new Button (); вместо var aButton:MovieClip = aBox.attachMovie (button, button, 0); Возможность смены родителя var aButton:Button = new Button (); aBox.addChild (aButton); aContainer.addChild(aButton);

Константин КовалевE4X Простота и наглядность Так же прост, как XPath и SQL Простая запись XML Получение списка продуктов либо Получение всех продуктов на букву F == 0) var myXML:XML = myXML.company +=

Константин Ковалев Наследование Объявление стилей в CSS-файлах, в MXML- классах, внутри MXML- тэгов Runtime CSS Стили компилируются внутрь swf СкинизацияCSS Panel { font-family: Times, "_serif"; font-size: 24; }.areaStyle { color: #FF00FF; font-size: 12; border-style:none; }

Константин Ковалев .panelButton { top: 10; bottom: 40; left: 10; right: 60;}.panelArea { bottom: 10; horizontal-center: -25;}.panelButton { top: 10; bottom: 10; left: 90; right: 10;}.panelArea { top: 10; left: 10;} Позиционирование с помощью CSS

Константин Ковалев Декларативная форма Расширяемость Data binding Встраивание блоков кода Встраивание CSS Модульность Мощный фрэймворк компонент Контейнеры MXML-файл ActionScript-классMXML

Константин Ковалев public class MyApp extends mx.core.Application { private var myText:TextArea; private var myButton:Button; public function MyApp(){ layout = "vertical"; myText = new TextArea (); addChild(myText); myText.editable = false; myText.width = 300; myText.height = 200; myButton = new Button (); addChild(myButton); myButton.label = "Нажми меня!"; myButton.addEventListener("click", onButtonClick); } private function onButtonClick (event:MouseEvent):void { myText.text += 'Еще раз\n' } MXML: что проще? VS

Константин Ковалев Москва Санкт-Петербург Новосибирск Владивосток MXML: расширяемость Компонент:Приложение:

Константин Ковалев Москва Санкт-Петербург Новосибирск Владивосток MXML: data binding Компонент:Приложение:

Константин Ковалев MXML: модульность Компонент:Подкомпонент: Москва Санкт-Петербург Новосибирск Владивосток

Константин Ковалев [Event (name="cityChange", type="flash.events.Event")] MXML: события Компонент:Приложение:

Константин Ковалев Code behind Код:Разметка: package com.riapriority.rit2007 { import flash.events.MouseEvent; import mx.containers.Box; import mx.controls.Alert; import mx.controls.Button; import mx.controls.TextInput; import mx.events.FlexEvent; import mx.utils.StringUtil; public class LoginFormBase extends Box { public var yourName:TextInput; public var submitButton:Button; public function LoginFormBase() { addEventListener(FlexEvent.CREATION_COMPLETE, onComplete); } private function onComplete (event:FlexEvent):void { submitButton.addEventListener(MouseEvent.CLICK, onSubmit); } private function onSubmit (event:MouseEvent):void { var message:String = StringUtil.substitute ("Превед, {0}!", yourName.text); Alert.show(message); }

Константин Ковалев Компоненты и контейнеры Расширяемые (MXML и ActionScript) Datagrid, Tree, List, TileList, HorizontalList,... Tab, Accordion, Menu,... RichText Editor, Sliders,... ToggleButton, PopupButton,... Медиа-компоненты Charting Components Panel, VBox, HBox, VDividedBox, HDivideBox, Form, Tile, Grid, … Валидаторы, Форматтеры, Эффекты, Состояния, Dragndrop, Модули, RSL, Resource Bundles +

Константин Ковалев Клиентская библиотека Сервер на базе J2EE HTTP/S, AMF, RTMF/S Server Data Pushing Компиляция swf на сервере Удаленный вызов процедур (RPC) Publish/Subscribe Messaging CRUD Кластеризация Бесплатно для 1 CPU, $6,000 (до 100 пользователей), $20,000 (без ограничений) Adobe LiveCycle Data Services

Константин Ковалев Flash vs Flex

Константин Ковалев Q&A RIA-разработчик