Flex, Adobe AIR,
    and PHP:
    the beginning of a
                                                                     ...
About me


•     Platform Evangelist, member of the Adobe’s European team

•     Used to be a Flex Builder engineer (Java ...
Today’s Agenda


•     What is RIA and why RIA is a good thing

•     What is Flex

•     What is Adobe AIR

•     Why AIR...
What matters?




               Experience Matters!


                                                                   ...
What matters?




                      USER
               Experience Matters!


                                        ...
A shoe story…

                                                                  More than 2.000 years experience in
     ...
A shoe story…

                                                                  More than 2.000 years experience in
     ...
What is RIA?



Global
                                                                                 2004
             ...
Demos time!

Let’s see what it can be done with the Flash Platform!




                                            Flash ...
What is Flex?

     Flex is just another way to create a Flash application




                                          ...
What is Flex?

         Flex SDK                                                          Flex SDK
               MXML   ...
What is Flex?

         Flex SDK                                                          Flex SDK
               MXML   ...
What is Flex?

         Flex SDK                                                          Flex SDK
               MXML   ...
What is AIR?




                Adobe® AIR™ lets developers use their
            existing web development skills in HTML...
Adobe AIR Application Stack


                        HTML                                                     Flash
     ...
RIAs can be limited by the browser




                                                                       ®




Copyri...
#1 – No offline access




                                                                       ®




Copyright 2009 Adobe...
#2 – Constrained within the browser chrome




                                                                  Browser c...
#3 – Common desktop interactions not possible




                    Drag & drop
                    not possible




   ...
#4 – Local system access limited




                                                                       File interacti...
#5 – Updates only delivered when browser is open




                                                                  Ale...
Why RIAs on the desktop

                                   Persistent connection                  Branded experiences



...
AIR capabilities

•     Native window types (normal, utility, lightweight)

•     Support for multiple monitors

•     Nat...
Communication between Flex and PHP server

“I think this is the beginning of a beautiful friendship!”


                  ...
Are there any Flex/AIR apps with PHP out there?


AIR & Flex apps with PHP backend:

http://corlan.org/ exair-and-php-apps...
What tools to use?


For Flex and PHP and Eclipse based solution:

•     Flex Builder + PDT

•     Flex Builder + Zend Stu...
Debugging


Debugging Flex applications:

1.          Use a log function on the server, and save the var_dump of the PHP
 ...
How does remoting work?

       Flex/AIR Client                                            AMF3        PHP Server


      ...
How does remoting work?

       Flex/AIR Client                                                 AMF3                 PHP S...
How does remoting work?

        Flex/AIR Client                                                AMF3                   PHP...
How does remoting work?

        Flex/AIR Client                                                    AMF3                  ...
REST vs. AMF?

http://www.jamesward.com/census/




                                                                      ...
PHP and AMF


There are four libraries for doing remoting with PHP classes:
1.         Zend AMF – part of the Zend Framewo...
Thank you!

Download Flex Builder: http://www.adobe.com/go/flex_trial
AIR: http://www.adobe.com/go/air
AIR Adobe Developer...
Upcoming SlideShare
Loading in...5
×

Flex, Adobe AIR, and PHP: the beginning of a beautiful friendship

6,720

Published on

Published in: Technology, Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,720
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
172
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Flex, Adobe AIR, and PHP: the beginning of a beautiful friendship"

  1. 1. Flex, Adobe AIR, and PHP: the beginning of a Replace with beautiful friendship a graphic White Master 5.5” Tall & 4.3” Wide Mihai Corlan Platform Evangelist, Adobe PHP GeekMeet 2009, Cluj ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 1
  2. 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. 2
  3. 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. 3
  4. 4. What matters? Experience Matters! ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 4
  5. 5. What matters? USER Experience Matters! ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 5
  6. 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. 6
  7. 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. 7
  8. 8. What is RIA? Global 2004 RICH INTERNET WEB APPLICATIONS APPLICATIONS REACH 1998 1992 Local MAINFRAME CLIENT/SERVER Text UI RICH Integrated media GUI ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 8
  9. 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. 9
  10. 10. What is Flex?   Flex is just another way to create a Flash application Flash Player ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 10
  11. 11. What is Flex? Flex SDK   Flex SDK MXML ActionScript   2 languages Flex Class Library   MXML Debuggers   ActionScript 3   Compilers   Rich Component Library   Debuggers ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 11
  12. 12. What is Flex? Flex SDK   Flex SDK MXML ActionScript   2 languages Flex Class Library   MXML Debuggers   ActionScript 3 Flex Builder IDE   Compilers   Rich Component Library   Debuggers   Flex Builder IDE   Eclipse Plug-in or turn-key install   Accelerates Design and Development   Design view and code view Flash Player ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 12
  13. 13. What is Flex? Flex SDK   Flex SDK MXML ActionScript   2 languages Flex Class Library   MXML Debuggers   ActionScript 3 Flex Builder IDE   Compilers Compile   Rich Component Library   Debuggers   Flex Builder IDE   Eclipse Plug-in or turn-key install   Accelerates Design and Browser Development   Design view and code view Flash Player ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 13
  14. 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. 14
  15. 15. Adobe AIR Application Stack HTML Flash Cross-OS HTML Flex Application JavaScript Flash ActionScript HTML Integrated XML XML Rendering CSS Audio Integrated DOMs PDF Video PDF & Scripting File System Network Application Drag and Local Access Detection Notifications Update Drop Database ... Adobe AIR APIs Mac, Windows, Linux & Device OS ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 15
  16. 16. RIAs can be limited by the browser ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 16
  17. 17. #1 – No offline access ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 17
  18. 18. #2 – Constrained within the browser chrome Browser chrome & application chrome con ict ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 18
  19. 19. #3 – Common desktop interactions not possible Drag & drop not possible ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 19
  20. 20. #4 – Local system access limited File interaction restricted by browser sandbox ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 20
  21. 21. #5 – Updates only delivered when browser is open Alerts only visible when browser open ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 21
  22. 22. Why RIAs on the desktop Persistent connection Branded experiences Desktop functionality Data access Efficient development ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 22
  23. 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. 23
  24. 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. REST Services Web browser FLEX Apps Web Services Server PHP Desktop AIR Apps Remoting ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 24
  25. 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. 25
  26. 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. 26
  27. 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. 27
  28. 28. How does remoting work? Flex/AIR Client AMF3 PHP Server MyClass { getData() { … } saveData($myVO) {…} } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 28
  29. 29. How does remoting work? Flex/AIR Client AMF3 PHP Server RemoteObject Client calls MyClass { MyClass->getData() getData(); getData() { … } saveData(myVO); saveData($myVO) {…} } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 29
  30. 30. How does remoting work? Flex/AIR Client AMF3 PHP Server RemoteObject Client calls MyClass { MyClass->getData() getData(); getData() { … } saveData(myVO); saveData($myVO) {…} } MyVO { MyVO { public var id:int; Automatic conversion public $id; public var name:String; between PHP and public $name; ActionScript class } } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 30
  31. 31. How does remoting work? Flex/AIR Client AMF3 PHP Server RemoteObject Client calls MyClass { MyClass->getData() getData(); getData() { … } saveData(myVO); Server sends an array saveData($myVO) {…} of MyVO objects Client calls } RemoteObject.saveData(myVO) MyClass->saveData($myVO) MyVO { MyVO { public var id:int; Automatic conversion public $id; public var name:String; between PHP and public $name; ActionScript class } } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 31
  32. 32. REST vs. AMF? http://www.jamesward.com/census/ ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 32
  33. 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. 33
  34. 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: mihai.corlan@adobe.com ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 34
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×