PHP&Flex - новая альтернатива для создания RIAs Иванников Андрей Улич Дмитрий.

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



Advertisements
Похожие презентации
Work with databases in Java. JDBC Tutorial for students of universities Author: Dudnik Oxana.
Advertisements

AJAX Asynchronous Javascript and XML. Для чего нужен AJAX Недостаточная функциональность HTTP и HTML Не интерактивен Нет частичных обновлений Альтернативы.
Class Date { private int year = 0; private int month = 0; private int day = 0; public void SetDate (int y, int m, int d) { year = y; month = m; day = d;
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Test 16 Вопрос 1. class Clazz { { System.out.println("non-static init"); } public static void main(String a[]) { System.out.println("main"); Clazz ob1.
NHibernate что, где, когда Артур Дробинский ЗетаСофт Томск, 2012.
BoardgameMaster G2 chapter 1 Технологии Архитектура Клиент-Сервер Архитектура BGM Инструменты Dominion.
Разработка на Yii QuartSoft Corp. Системный архитектор Климов П.В.
Adobe Flex Новая технология для создания RIA на базе Flash-платформы Константин Ковалев RIA-разработчик
Test 14 Вопрос 1. class Main { public void method() { static class One { public One() { System.out.println("From one"); } } public static void main(String...
Статический анализатор для языка ECMA Script 4 Власов В. А. Мат.-мех. Ф-т.
PL/SQL Пакеты. Определение Пакет – это объект схемы данных, объединяющий набор типов, объектов и подпрограмм PL/SQL.
Работа с базами данных – JDBC Введение в JDBC. JDBC JDBC (Java DataBase Connectivity) – технология доступа к базам данных для Java Состоит из: API (java.sql.
Виталий Хить, Абсолютист.
Реализовать web интерфейс системы, обеспечивающей: добавление проектов; добавление тестов в проект; запуск теста и визуализация результата; просмотр ранее.
Test 13 Вопрос 1. public class StringTest { public static void main(String[] arg){ test(new String[] { null });} static void test(Object[] o){System.out.print(1);}
Максим Павловский
Work with server by XMLRPC – library in Java For students Author: Dudnik Oxana.
RIA in Perspective Ken Wilner VP of Technology Progress Software Session 122.
CERN – European Organization for Nuclear Research IT Department – e – Business Section Прошлое, настоящее и будущее JavaScript Дж. Дрансфилд, Р. Титов.
Транксрипт:

PHP&Flex - новая альтернатива для создания RIAs Иванников Андрей Улич Дмитрий

Что такое Flex? Adobe Flex 2 – это решение, позволяющее разрабатывать Rich Internet Applications на основе родственной Flash технологии. Описание интерфейса, и не только, основано на диалекте XML – MXML. Описание клиентской логики на ActionScript3 (AS3) В результате MXML->AS3->swf фаил.

Линейка продуктов Flex 2 Flex Builder 2 – IDE основанная на eclipse. Flex framework and SDK Flex Charting 2 Flex Data Services 2

Структура Flex приложений

Пример

MXML ActionScript package{ import mx.controls.Button; public class CustomButton extends Button{ public function CustomButton(){ supper(); }

ActionScript 3 ООП! Основан на стандарте ECMAScript 4. Строгая и динамическая типизация Наследование, интерфейсы, модульность Спецификаторы доступа Reflection API ECMAScript for XML (E4X) DOM3 модель событий Динамические классы (runtime добавление методов и свойств)

Другие аспекты разработки ASDoc – документирование в коде Mercury QuickTest – приемочные тесты FlexUnit – модульные тесты Flex Stress Testing – нагрузочные тесты Cairngorm - архитектурный фреймворк Flex-Ajax Bridge – AS JS Apollo - desktop приложения

Из рубрики Лучше один раз увидеть, чем сто раз услышать! Смотрим и про себя думаем, как бы мы все это сделали на JS?! %)

HTML&JavaScript vs MXML&ActionScript JSAS Кросбраузерность Функционал языка Распространенность Размер приложений Индексация в поисковиках Скорость разработки RIAs Производительность - + +/

Обмен данными Использовать фреймворки, которые сериализуют данные в формат AMF SOAP запросы Сокеты (в том числе и бинарные) Просто использовать GET и POST запросы

Реализована поддержка AMF PHP JAVA.NET ColdFusion Ruby

Фреймворки для связки PHP и Flex AMFPHP WEBORB SabreAMF

Общее Поддержка AMF3 Сопоставление классов (class mapping) между Flex и PHP Поддержка PHP5

Сравнение AMFPHPWEBORBSabreAMF Поддержка PHP4+-- Авторизация++- Документация--- Простота установки++- Ведение логов++- php_amf_extension+-- Браузер для служб+--

Flex

services-config.xml *

PHP class Users { public function getUsers(){ $users = array(); $query = mysql_query("select * from users"); while ($row = mysql_fetch_object($query)){ $users[] = $row; } return $users; }

НИЧЕГО!

Class mapping package vo{ [RemoteClass(alias="dummy.vo.UserVO")] public class UserVO{ public var userId:int; public var userName:String; }

class UserVO { public $_explicitType ="dummy.vo.UserVO"; public $userId; public $userName; }

import vo.UserVO; private var user:UserVO; private function createNewUser():void{ var newUser:UserVO = new UserVO(); newUser.userName = uName.text; ro.createNewUser(newUser); }

require_once(vo/UserVO.php); public function getUsers(){ $users = array(); $query = mysql_query("SELECT user_id, user_name FROM users"); while ($row = mysql_fetch_object($query)){ $user = new UserVO(); $user->userId = $row->user_id; $user->username = $row->user_name; $users[] = $user; } return $users; } public function createNewUser (UserVO $newUser){ mysql_query("INSERT INTO users SET user_name = '". $newUser- >userName. "'"); }

Спасибо за внимание! Вопросы