Flex, Adobe AIR, and PHP: the beginning of a beautiful friendship
-
Upload
elliando-dias -
Category
Technology
-
view
6.640 -
download
0
Transcript of Flex, Adobe AIR, and PHP: the beginning of a beautiful friendship
White Master
Replace with a graphic
5.5” Tall & 4.3” Wide
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 1
Flex, Adobe AIR, and PHP: the beginning of a beautiful friendship
Mihai Corlan Platform Evangelist, Adobe
PHP GeekMeet 2009, Cluj
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 2
About me
• Platform Evangelist, member of the Adobe’s European team
• Used to be a Flex Builder engineer (Java Desktop SWT, Eclipse
Platform)
• Used to be a web developer (PHP, ColdFusion, DHTML, JS, MySQL,
Sybase…)
• ~9 years experience with web related technologies
• I write articles, I do presentations, and I code
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 3
Today’s Agenda
• What is RIA and why RIA is a good thing
• What is Flex
• What is Adobe AIR
• Why AIR applications?
• Flex/AIR and PHP
• Q & A
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 4
What matters?
Experience Matters!
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 5
What matters?
USER Experience Matters!
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 6
A shoe story…
More than 2.000 years experience in producing shoes.
We can produce them really cheap.
20 Euro a pair, maybe?
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 7
A shoe story…
More than 2.000 years experience in producing shoes.
We can produce them really cheap.
20 Euro a pair, maybe?
Wrong! Because of better user experience, people women are willing to pay 100+ euro!
Better design, limited edition = better user experience = greater value
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 8
What is RIA?
MAINFRAME
RE
AC
H
Local
Global
RICH Text UI Integrated media GUI
CLIENT/SERVER
WEB APPLICATIONS
2004
1992
1998
RICH INTERNET APPLICATIONS
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 9
Demos time!
Let’s see what it can be done with the Flash Platform!
Flash Player
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 10
What is Flex?
Flex is just another way to create a Flash application
Flash Player
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 11
What is Flex?
Flex SDK 2 languages
MXML ActionScript 3
Compilers Rich Component Library Debuggers
Flex SDK
Flex Class Library
MXML ActionScript
Debuggers
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 12
What is Flex?
Flex SDK 2 languages
MXML ActionScript 3
Compilers Rich Component Library Debuggers
Flex Builder IDE Eclipse Plug-in or turn-key install
Accelerates Design and Development
Design view and code view
Flex Builder IDE
Flex SDK
Flex Class Library
MXML ActionScript
Debuggers
Flash Player
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 13
What is Flex?
Flex SDK 2 languages
MXML ActionScript 3
Compilers Rich Component Library Debuggers
Flex Builder IDE Eclipse Plug-in or turn-key install
Accelerates Design and Development
Design view and code view
Flex Builder IDE
Flex SDK
Flex Class Library
MXML ActionScript
Debuggers
Compile
Browser
Flash Player
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 14
What is AIR?
Adobe® AIR™ lets developers use their existing web development skills in HTML,
AJAX, Flash and Flex to build and deploy rich Internet applications to the desktop
on Windows, Mac or Linux.
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 15
Adobe AIR Application Stack
Cross-OS Application
Integrated Rendering
Integrated DOMs & Scripting
Flash
Flex ActionScript XML Audio Video
HTML
HTML
HTML JavaScript XML CSS
Flash
Adobe AIR APIs
Mac, Windows, Linux & Device OS
File System Access
Network Detection Notifications Application
Update Drag and Drop
Local Database ...
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 16
RIAs can be limited by the browser
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 17
#1 – No offline access
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 18
#2 – Constrained within the browser chrome
Browser chrome & application chrome con"ict
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 19
#3 – Common desktop interactions not possible
Drag & drop not possible
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 20
#4 – Local system access limited
File interaction restricted by browser sandbox
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 21
#5 – Updates only delivered when browser is open
Alerts only visible when browser open
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 22
Why RIAs on the desktop
Persistent connection
Desktop functionality Data access Efficient development
Branded experiences
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 23
AIR capabilities
• Native window types (normal, utility, lightweight)
• Support for multiple monitors
• Native Menu support (App, window, dock, system tray, context)
• Full access to the local #le system (read/create/delete)
• Encrypted Local Storage
• Local SQLite databases, including encrypted
• Drag and Drop
• Clipboard (read/write)
• Network activity monitor
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 24
Communication between Flex and PHP server
“I think this is the beginning of a beautiful friendship!”
Flex & AIR on the client, PHP on the server.
Web browser FLEX Apps
Desktop AIR Apps
Server PHP
REST Services
Web Services
Remoting
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 25
Are there any Flex/AIR apps with PHP out there?
AIR & Flex apps with PHP backend:
http://corlan.org/"exair-and-php-apps/
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 26
What tools to use?
For Flex and PHP and Eclipse based solution:
• Flex Builder + PDT
• Flex Builder + Zend Studio
Advantages:
• You can create combined Flex and PHP or AIR and PHP projects
• That helps you with deploying, and debugging
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 27
Debugging
Debugging Flex applications:
1. Use a log function on the server, and save the var_dump of the PHP
variables in a "at #le
2. Use Charles proxy sniffer, you can inspect the traffic between client
and server
3. Use Flex Builder and Zend Studio debuggers
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 28
How does remoting work?
MyClass {
getData() { … } saveData($myVO) {…}
}
Flex/AIR Client PHP Server AMF3
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 29
How does remoting work?
RemoteObject
getData(); saveData(myVO);
MyClass {
getData() { … } saveData($myVO) {…}
}
Client calls MyClass->getData()
Flex/AIR Client PHP Server AMF3
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 30
How does remoting work?
RemoteObject
getData(); saveData(myVO);
MyClass {
getData() { … } saveData($myVO) {…}
}
Client calls MyClass->getData()
Flex/AIR Client PHP Server
MyVO {
public $id; public $name;
}
MyVO {
public var id:int; public var name:String;
}
Automatic conversion between PHP and ActionScript class
AMF3
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 31
How does remoting work?
RemoteObject
getData(); saveData(myVO);
MyClass {
getData() { … } saveData($myVO) {…}
}
Client calls MyClass->getData()
Flex/AIR Client PHP Server
MyVO {
public $id; public $name;
}
MyVO {
public var id:int; public var name:String;
}
Server sends an array of MyVO objects
Automatic conversion between PHP and ActionScript class
Client calls RemoteObject.saveData(myVO) MyClass->saveData($myVO)
AMF3
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 32
REST vs. AMF?
http://www.jamesward.com/census/
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 33
PHP and AMF
There are four libraries for doing remoting with PHP classes:
1. Zend AMF – part of the Zend Framework
2. AMFPHP
3. WebORB for PHP (remoting and data messaging – publisher/subscriber)
4. SabreAMF
®
Copyright 2009 Adobe Systems Incorporated. All rights reserved. 34
Thank you!
Download Flex Builder: http://www.adobe.com/go/flex_trial AIR: http://www.adobe.com/go/air AIR Adobe Developer Center: http://www.adobe.com/devnet/air/ Download Tour de Flex: http://flex.org/tour Learn Flex in one week: http://www.adobe.com/devnet/flex/videotraining/
Mihai Corlan
Blog: http://corlan.org
E-mail: [email protected]