SlideShare a Scribd company logo
1 of 30
Building mobile and tablet applications in Flex and PHP with Flash Builder for PHP Kevin Schroeder Zend Technologies
   About Kevin  Past: Programming/Sys Admin  Current: Technology Evangelist/Author/Composer          @kpschrade
Agenda The basics Creating a project Working with MXML Working with ActionScript Connecting to PHP
The Basics What is Flash? A platform for building highly interactive web content What is AIR? A runtime of the Flash environment for the desktop What is ActionScript The natively supported programming language for building more than just simple graphic animations What is Flex? An SDK for building Rich Internet Applications in Flash/ActionScript
Flash/Flex Projects
Creating a project ( w/ PHP ) Connects the  projects
Flex Project Basics AIR projects will have an Application Descriptor file Defines Application Name Versioning Initialization settings Width Height Visible Etc. etc. etc. Etc. etc. etc. Flex/web projects inherit this from the browser
MXML
MXML An XML-based UI markup language Describes UI elements Position Data Bindings Events Two primary component sets (for widgets) MX – the older brother (Flex 3) Spark – the new hotness (Flex 4) Most of what you need to do will be in Spark
MXML Example XML Namespace declaration for Flex (non-visual, generally) XML Namespace declaration for Spark Components
MXML – Adding a component Choosing from a list of Spark Components
MXML – Creating Flex Elements Defining local ActionScript container Defining local data container
MXML – Binding Static Data Declared a data source Accessed the data source
MXML - Events Event callback Defining the event
MXML – Events (alternatively)
ActionScript
ActionScript ActionScript is what makes Flash interesting Strong Typing (optional) Object Oriented Embeddable in MXML or writable in standard class files
Language Features Very similar syntax to Java Object Oriented Namespaced Variables defined with a var keyword Variable type definitions are done with a semi-colon Casting is done with an as keyword Event Driven - No threading
Language Features Namespace Return Value Type Variable Type Casting Type Declaration Variable Declaration Variable Type Checking Event Based
Remoting
Action Message Format Protocol for serializing objects to/from a Flash player Supports strong typing of data Support in multiple languages Support for any binary transport that ActionScript supports Two versions AMF0 AMF3
Zend_Amf A Zend Framework based component to facilitate connections to Flash Two mechanisms Direct Serializer Used for non-service endpoints (SMTP, Stomp, File System) Generally not what you will use Zend_Amf_Server Used for service-based endpoints Manages calls to service classes similar to MVC Generally what you will use
Direct Serializer Create an object Create the output stream Create the serializer Write the object Get the output from the stream Weird,  but required
Reading the (PHP) serialized object Not just for PHP! Regular binary data Magic!
PHP Application Building a Service Oriented Architecture Flash Application Service Call 1 Service Call 3 HTTP Gateway Service Class 1 Service Class 2 Service Class 3 Service Class 4
A Simple Architecture Libraries and Value Objects* Document Root Services to expose */services is not in the include_path, otherwise value objects would go there
Integrating into your own application Define service classes  Bootstrap your application Call Zend_Amf_Server
Demo : Creating and binding a PHP endpoint (slides would mean endless screen shots that would result in… well… this:
Follow us! Zend Technologies http://twitter.com/zend http://twitter.com/kpschrade (me!)

More Related Content

What's hot

Difference .Net Frameworks
Difference .Net FrameworksDifference .Net Frameworks
Difference .Net Frameworksmumairkhan
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Clint Edmonson
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightFrank La Vigne
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.netSanket Jagare
 
Xml usage in my work
Xml usage in my workXml usage in my work
Xml usage in my workJoniKettunen
 
Whats new in Alchemy Catalyst 8.0
Whats new in Alchemy Catalyst 8.0Whats new in Alchemy Catalyst 8.0
Whats new in Alchemy Catalyst 8.0Shamusd
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controlsrramabad
 
Automation Techniques In Documentation
Automation Techniques In DocumentationAutomation Techniques In Documentation
Automation Techniques In DocumentationSujith Mallath
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentationdimuthu22
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integrationravinxg
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overviewSubin Sugunan
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integrationrssharma
 
Asp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraAsp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraGajanand Bohra
 

What's hot (20)

Difference .Net Frameworks
Difference .Net FrameworksDifference .Net Frameworks
Difference .Net Frameworks
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
 
Xml usage in my work
Xml usage in my workXml usage in my work
Xml usage in my work
 
Whats new in Alchemy Catalyst 8.0
Whats new in Alchemy Catalyst 8.0Whats new in Alchemy Catalyst 8.0
Whats new in Alchemy Catalyst 8.0
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
 
Webconnection
WebconnectionWebconnection
Webconnection
 
Vb and asp.net
Vb and asp.netVb and asp.net
Vb and asp.net
 
Automation Techniques In Documentation
Automation Techniques In DocumentationAutomation Techniques In Documentation
Automation Techniques In Documentation
 
Asp.net
 Asp.net Asp.net
Asp.net
 
My view on XPages
My view on XPagesMy view on XPages
My view on XPages
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integration
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integration
 
Asp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraAsp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohra
 

Viewers also liked

Viewers also liked (7)

Zend Server - OSI Days
Zend Server - OSI DaysZend Server - OSI Days
Zend Server - OSI Days
 
Do you queue (updated)
Do you queue (updated)Do you queue (updated)
Do you queue (updated)
 
10 things
10 things10 things
10 things
 
Comparatives
ComparativesComparatives
Comparatives
 
Largest Photovoltaic Investment Opportunity
Largest Photovoltaic Investment OpportunityLargest Photovoltaic Investment Opportunity
Largest Photovoltaic Investment Opportunity
 
Green Computing[1]
Green Computing[1]Green Computing[1]
Green Computing[1]
 
Web Literacy Presentation2
Web Literacy Presentation2Web Literacy Presentation2
Web Literacy Presentation2
 

Similar to Flex for php developers

Introduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniIntroduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniJoseph Khan
 
Flex and PHP For the Flash Folks
Flex and PHP For the Flash FolksFlex and PHP For the Flash Folks
Flex and PHP For the Flash Folks10n Software, LLC
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 
Introduction to XAML and WPF
Introduction to XAML and WPFIntroduction to XAML and WPF
Introduction to XAML and WPFDoncho Minkov
 
Tech Lunch 9 25 2008
Tech Lunch 9 25 2008Tech Lunch 9 25 2008
Tech Lunch 9 25 2008rothacr
 
Net framework
Net frameworkNet framework
Net frameworkjhsri
 
Windows Presentation Foundation & XAML
Windows Presentation Foundation & XAMLWindows Presentation Foundation & XAML
Windows Presentation Foundation & XAMLAlex Sooraj
 
Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To DotnetSAMIR BHOGAYTA
 
Dot Net Training Dot Net35
Dot Net Training Dot Net35Dot Net Training Dot Net35
Dot Net Training Dot Net35Subodh Pushpak
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsDave Allen
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0guest642dd3
 
RIA Development via Adobe Flex + JRuby on Rails
RIA Development via Adobe Flex + JRuby on RailsRIA Development via Adobe Flex + JRuby on Rails
RIA Development via Adobe Flex + JRuby on Railskamal.fariz
 
Overview of microsoft dot net platforms
Overview of microsoft dot net platformsOverview of microsoft dot net platforms
Overview of microsoft dot net platformsAbhijit B.
 

Similar to Flex for php developers (20)

Introduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniIntroduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - Zaloni
 
Flex and PHP For the Flash Folks
Flex and PHP For the Flash FolksFlex and PHP For the Flash Folks
Flex and PHP For the Flash Folks
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 
Flex RIA
Flex RIAFlex RIA
Flex RIA
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
 
Adobe Flex Framework
Adobe Flex FrameworkAdobe Flex Framework
Adobe Flex Framework
 
Introduction to XAML and WPF
Introduction to XAML and WPFIntroduction to XAML and WPF
Introduction to XAML and WPF
 
Tech Lunch 9 25 2008
Tech Lunch 9 25 2008Tech Lunch 9 25 2008
Tech Lunch 9 25 2008
 
Net framework
Net frameworkNet framework
Net framework
 
Windows Presentation Foundation & XAML
Windows Presentation Foundation & XAMLWindows Presentation Foundation & XAML
Windows Presentation Foundation & XAML
 
Wpf 1
Wpf 1Wpf 1
Wpf 1
 
Flex Rails Pres
Flex Rails PresFlex Rails Pres
Flex Rails Pres
 
Introduction To Dotnet
Introduction To DotnetIntroduction To Dotnet
Introduction To Dotnet
 
Dot Net Training Dot Net35
Dot Net Training Dot Net35Dot Net Training Dot Net35
Dot Net Training Dot Net35
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0
 
RIA Development via Adobe Flex + JRuby on Rails
RIA Development via Adobe Flex + JRuby on RailsRIA Development via Adobe Flex + JRuby on Rails
RIA Development via Adobe Flex + JRuby on Rails
 
Overview of microsoft dot net platforms
Overview of microsoft dot net platformsOverview of microsoft dot net platforms
Overview of microsoft dot net platforms
 

More from 10n Software, LLC

Delaying Gratification: Using queues to build efficient systems
Delaying Gratification: Using queues to build efficient systemsDelaying Gratification: Using queues to build efficient systems
Delaying Gratification: Using queues to build efficient systems10n Software, LLC
 
PHP Performance: Principles and tools
PHP Performance: Principles and toolsPHP Performance: Principles and tools
PHP Performance: Principles and tools10n Software, LLC
 
Application Deployment with Zend Server 5.5 beta
Application Deployment with Zend Server 5.5 betaApplication Deployment with Zend Server 5.5 beta
Application Deployment with Zend Server 5.5 beta10n Software, LLC
 
Creating stunning data analytics dashboard using php and flex
Creating stunning data analytics dashboard using php and flexCreating stunning data analytics dashboard using php and flex
Creating stunning data analytics dashboard using php and flex10n Software, LLC
 
Slideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You QueueSlideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You Queue10n Software, LLC
 
Slides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetingsSlides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetings10n Software, LLC
 

More from 10n Software, LLC (11)

Delaying Gratification: Using queues to build efficient systems
Delaying Gratification: Using queues to build efficient systemsDelaying Gratification: Using queues to build efficient systems
Delaying Gratification: Using queues to build efficient systems
 
PHP Performance: Principles and tools
PHP Performance: Principles and toolsPHP Performance: Principles and tools
PHP Performance: Principles and tools
 
Application Deployment with Zend Server 5.5 beta
Application Deployment with Zend Server 5.5 betaApplication Deployment with Zend Server 5.5 beta
Application Deployment with Zend Server 5.5 beta
 
Creating stunning data analytics dashboard using php and flex
Creating stunning data analytics dashboard using php and flexCreating stunning data analytics dashboard using php and flex
Creating stunning data analytics dashboard using php and flex
 
Php security common 2011
Php security common 2011Php security common 2011
Php security common 2011
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 
Slideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You QueueSlideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You Queue
 
Do you queue
Do you queueDo you queue
Do you queue
 
Zend Framework Workshop
Zend Framework WorkshopZend Framework Workshop
Zend Framework Workshop
 
Slides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetingsSlides from LAX & DEN usergroup meetings
Slides from LAX & DEN usergroup meetings
 
Flex and Zend Framework
Flex and Zend FrameworkFlex and Zend Framework
Flex and Zend Framework
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Flex for php developers

  • 1. Building mobile and tablet applications in Flex and PHP with Flash Builder for PHP Kevin Schroeder Zend Technologies
  • 2. About Kevin Past: Programming/Sys Admin Current: Technology Evangelist/Author/Composer @kpschrade
  • 3.
  • 4. Agenda The basics Creating a project Working with MXML Working with ActionScript Connecting to PHP
  • 5. The Basics What is Flash? A platform for building highly interactive web content What is AIR? A runtime of the Flash environment for the desktop What is ActionScript The natively supported programming language for building more than just simple graphic animations What is Flex? An SDK for building Rich Internet Applications in Flash/ActionScript
  • 7. Creating a project ( w/ PHP ) Connects the projects
  • 8. Flex Project Basics AIR projects will have an Application Descriptor file Defines Application Name Versioning Initialization settings Width Height Visible Etc. etc. etc. Etc. etc. etc. Flex/web projects inherit this from the browser
  • 10. MXML An XML-based UI markup language Describes UI elements Position Data Bindings Events Two primary component sets (for widgets) MX – the older brother (Flex 3) Spark – the new hotness (Flex 4) Most of what you need to do will be in Spark
  • 11. MXML Example XML Namespace declaration for Flex (non-visual, generally) XML Namespace declaration for Spark Components
  • 12. MXML – Adding a component Choosing from a list of Spark Components
  • 13. MXML – Creating Flex Elements Defining local ActionScript container Defining local data container
  • 14. MXML – Binding Static Data Declared a data source Accessed the data source
  • 15. MXML - Events Event callback Defining the event
  • 16. MXML – Events (alternatively)
  • 18. ActionScript ActionScript is what makes Flash interesting Strong Typing (optional) Object Oriented Embeddable in MXML or writable in standard class files
  • 19. Language Features Very similar syntax to Java Object Oriented Namespaced Variables defined with a var keyword Variable type definitions are done with a semi-colon Casting is done with an as keyword Event Driven - No threading
  • 20. Language Features Namespace Return Value Type Variable Type Casting Type Declaration Variable Declaration Variable Type Checking Event Based
  • 22. Action Message Format Protocol for serializing objects to/from a Flash player Supports strong typing of data Support in multiple languages Support for any binary transport that ActionScript supports Two versions AMF0 AMF3
  • 23. Zend_Amf A Zend Framework based component to facilitate connections to Flash Two mechanisms Direct Serializer Used for non-service endpoints (SMTP, Stomp, File System) Generally not what you will use Zend_Amf_Server Used for service-based endpoints Manages calls to service classes similar to MVC Generally what you will use
  • 24. Direct Serializer Create an object Create the output stream Create the serializer Write the object Get the output from the stream Weird, but required
  • 25. Reading the (PHP) serialized object Not just for PHP! Regular binary data Magic!
  • 26. PHP Application Building a Service Oriented Architecture Flash Application Service Call 1 Service Call 3 HTTP Gateway Service Class 1 Service Class 2 Service Class 3 Service Class 4
  • 27. A Simple Architecture Libraries and Value Objects* Document Root Services to expose */services is not in the include_path, otherwise value objects would go there
  • 28. Integrating into your own application Define service classes Bootstrap your application Call Zend_Amf_Server
  • 29. Demo : Creating and binding a PHP endpoint (slides would mean endless screen shots that would result in… well… this:
  • 30. Follow us! Zend Technologies http://twitter.com/zend http://twitter.com/kpschrade (me!)