SlideShare a Scribd company logo
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
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
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
What matters?




               Experience Matters!


                                                                      ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   4
What matters?




                      USER
               Experience Matters!


                                                                      ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   5
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
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
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
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
What is Flex?

     Flex is just another way to create a Flash application




                                            Flash Player


                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   10
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
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
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
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
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
RIAs can be limited by the browser




                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   16
#1 – No offline access




                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   17
#2 – Constrained within the browser chrome




                                                                  Browser chrome &
                                                                  application chrome
                                                                  con ict




                                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   18
#3 – Common desktop interactions not possible




                    Drag & drop
                    not possible




                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   19
#4 – Local system access limited




                                                                       File interaction
                                                                       restricted by browser
                                                                       sandbox




                                                                                               ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   20
#5 – Updates only delivered when browser is open




                                                                  Alerts only visible
                                                                  when browser open




                                                                                        ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.      21
Why RIAs on the desktop

                                   Persistent connection                  Branded experiences




  Desktop functionality                                           Data access           Efficient development




                                                                                                                ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.      22
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
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
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
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
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
How does remoting work?

       Flex/AIR Client                                            AMF3        PHP Server


                                                                         MyClass {

                                                                         getData() { … }
                                                                         saveData($myVO) {…}

                                                                         }




                                                                                               ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.     28
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
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
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
REST vs. AMF?

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




                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved.   32
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
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

More Related Content

What's hot

Flex and the city in London - Keynote
Flex and the city in London - KeynoteFlex and the city in London - Keynote
Flex and the city in London - Keynote
Michael Chaize
 
Jax2001 adobe keynote
Jax2001 adobe keynoteJax2001 adobe keynote
Jax2001 adobe keynote
Michael Chaize
 
Flex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUGFlex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUG
Michael Chaize
 
Breizh camp adobe flex et les mobiles
Breizh camp   adobe flex et les mobilesBreizh camp   adobe flex et les mobiles
Breizh camp adobe flex et les mobiles
Michael Chaize
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011
Michael Chaize
 
Best practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesBest practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devices
Michael Chaize
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 users
Michael Chaize
 
Mobile revolution
Mobile revolutionMobile revolution
Mobile revolution
Serge Jespers
 
Oop2012 keynote Design Driven Development
Oop2012 keynote Design Driven DevelopmentOop2012 keynote Design Driven Development
Oop2012 keynote Design Driven Development
Michael Chaize
 
Ria2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'EntrepriseRia2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'Entreprise
Michael Chaize
 
Flash Applications For Mobile
Flash Applications For MobileFlash Applications For Mobile
Flash Applications For Mobile
Serge Jespers
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
Michael Chaize
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
Michael Chaize
 
Montpellier - Flex UG
Montpellier - Flex UGMontpellier - Flex UG
Montpellier - Flex UG
Michael Chaize
 
Devoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexDevoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with Flex
Michael Chaize
 
Innovation and the Adobe Flash Platform
Innovation and the Adobe Flash PlatformInnovation and the Adobe Flash Platform
Innovation and the Adobe Flash Platform
Michael Chaize
 
Enterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devicesEnterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devices
Michael Chaize
 
Over the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidOver the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for Android
Michael Chaize
 
Adobe Flash platform の法人利用
Adobe Flash platform の法人利用Adobe Flash platform の法人利用
Adobe Flash platform の法人利用
Keisuke Todoroki
 
Fatc - Productivity by Design
Fatc - Productivity by DesignFatc - Productivity by Design
Fatc - Productivity by Design
Michael Chaize
 

What's hot (20)

Flex and the city in London - Keynote
Flex and the city in London - KeynoteFlex and the city in London - Keynote
Flex and the city in London - Keynote
 
Jax2001 adobe keynote
Jax2001 adobe keynoteJax2001 adobe keynote
Jax2001 adobe keynote
 
Flex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUGFlex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUG
 
Breizh camp adobe flex et les mobiles
Breizh camp   adobe flex et les mobilesBreizh camp   adobe flex et les mobiles
Breizh camp adobe flex et les mobiles
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011
 
Best practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devicesBest practices for Flash applications on mobile devices
Best practices for Flash applications on mobile devices
 
Back From MAX in London for CQ5 users
Back From MAX in London for CQ5 usersBack From MAX in London for CQ5 users
Back From MAX in London for CQ5 users
 
Mobile revolution
Mobile revolutionMobile revolution
Mobile revolution
 
Oop2012 keynote Design Driven Development
Oop2012 keynote Design Driven DevelopmentOop2012 keynote Design Driven Development
Oop2012 keynote Design Driven Development
 
Ria2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'EntrepriseRia2010 - keynote - Evolution des RIA d'Entreprise
Ria2010 - keynote - Evolution des RIA d'Entreprise
 
Flash Applications For Mobile
Flash Applications For MobileFlash Applications For Mobile
Flash Applications For Mobile
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
 
Montpellier - Flex UG
Montpellier - Flex UGMontpellier - Flex UG
Montpellier - Flex UG
 
Devoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexDevoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with Flex
 
Innovation and the Adobe Flash Platform
Innovation and the Adobe Flash PlatformInnovation and the Adobe Flash Platform
Innovation and the Adobe Flash Platform
 
Enterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devicesEnterprise Flex applications on tablet devices
Enterprise Flex applications on tablet devices
 
Over the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidOver the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for Android
 
Adobe Flash platform の法人利用
Adobe Flash platform の法人利用Adobe Flash platform の法人利用
Adobe Flash platform の法人利用
 
Fatc - Productivity by Design
Fatc - Productivity by DesignFatc - Productivity by Design
Fatc - Productivity by Design
 

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

Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
Ch'ti JUG
 
Enrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA PlatformEnrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA Platform
Initium
 
Drupal and-flex-drupal camp
Drupal and-flex-drupal campDrupal and-flex-drupal camp
Drupal and-flex-drupal camp
Claudiu Cristea
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applications
Michael Chaize
 
Mihai Pricope
Mihai PricopeMihai Pricope
Mihai Pricope
evensys
 
董龙飞 - 新一代企业应用
董龙飞 - 新一代企业应用董龙飞 - 新一代企业应用
董龙飞 - 新一代企业应用
d0nn9n
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air Intro
JUG Genova
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
François Le Droff
 
Adobe jax2010 1_dashboard
Adobe jax2010 1_dashboardAdobe jax2010 1_dashboard
Adobe jax2010 1_dashboard
guest9776673
 
HBase and Hadoop at Adobe
HBase and Hadoop at AdobeHBase and Hadoop at Adobe
HBase and Hadoop at Adobe
Cosmin Lehene
 
Develop multi-screen applications with Flex
Develop multi-screen applications with Flex Develop multi-screen applications with Flex
Develop multi-screen applications with Flex
Codemotion
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
ConFoo
 
Flexpaug 111207121300-phpapp01
Flexpaug 111207121300-phpapp01Flexpaug 111207121300-phpapp01
Flexpaug 111207121300-phpapp01
Paris Android User Group
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
Ed Brill
 
Adobe Salon Linux
Adobe Salon LinuxAdobe Salon Linux
Adobe Salon Linux
Michael Chaize
 
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop FinalDavid Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
dcoletta
 
MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«
MMT - Multimediatreff
 
Bp209
Bp209Bp209
Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010
joaogoncalves
 
Gumbo Deck
Gumbo DeckGumbo Deck

Similar to Flex, Adobe AIR, and PHP: the beginning of a beautiful friendship (20)

Adobe flash platform java
Adobe flash platform javaAdobe flash platform java
Adobe flash platform java
 
Enrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA PlatformEnrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA Platform
 
Drupal and-flex-drupal camp
Drupal and-flex-drupal campDrupal and-flex-drupal camp
Drupal and-flex-drupal camp
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applications
 
Mihai Pricope
Mihai PricopeMihai Pricope
Mihai Pricope
 
董龙飞 - 新一代企业应用
董龙飞 - 新一代企业应用董龙飞 - 新一代企业应用
董龙飞 - 新一代企业应用
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air Intro
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
Adobe jax2010 1_dashboard
Adobe jax2010 1_dashboardAdobe jax2010 1_dashboard
Adobe jax2010 1_dashboard
 
HBase and Hadoop at Adobe
HBase and Hadoop at AdobeHBase and Hadoop at Adobe
HBase and Hadoop at Adobe
 
Develop multi-screen applications with Flex
Develop multi-screen applications with Flex Develop multi-screen applications with Flex
Develop multi-screen applications with Flex
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
 
Flexpaug 111207121300-phpapp01
Flexpaug 111207121300-phpapp01Flexpaug 111207121300-phpapp01
Flexpaug 111207121300-phpapp01
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
 
Adobe Salon Linux
Adobe Salon LinuxAdobe Salon Linux
Adobe Salon Linux
 
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop FinalDavid Coletta Architecting A Shared Codebase For Browser And Desktop Final
David Coletta Architecting A Shared Codebase For Browser And Desktop Final
 
MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«
 
Bp209
Bp209Bp209
Bp209
 
Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010
 
Gumbo Deck
Gumbo DeckGumbo Deck
Gumbo Deck
 

More from elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
elliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
elliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
elliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
elliando dias
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
elliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
Ragel talk
Ragel talkRagel talk
Ragel talk
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Rango
RangoRango
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
elliando dias
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 

More from elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

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

  • 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. 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. 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. What matters? Experience Matters! ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 4
  • 5. What matters? USER Experience Matters! ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 5
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. RIAs can be limited by the browser ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 16
  • 17. #1 – No offline access ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 17
  • 18. #2 – Constrained within the browser chrome Browser chrome & application chrome con ict ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 18
  • 19. #3 – Common desktop interactions not possible Drag & drop not possible ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 19
  • 20. #4 – Local system access limited File interaction restricted by browser sandbox ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 20
  • 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. 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. 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. 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. 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. 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. 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. How does remoting work? Flex/AIR Client AMF3 PHP Server MyClass { getData() { … } saveData($myVO) {…} } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 28
  • 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. 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. 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. REST vs. AMF? http://www.jamesward.com/census/ ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. 32
  • 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. 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