SlideShare a Scribd company logo
1 of 22
Sheridan Mobile Summit 2011



Developing for Mobile
  with Adobe AIR
     By Matthew Fabb
Who Am I?
Education
   Sheridan's System Analyst/Computer Programmer
     in 2000
   Sheridan's Interactive Mulitmedia in 2002
I am currently a developer
   at StickerYou
I was a technical editor on Wrox’s
   Professional Flex 3
Authored by:
  Joseph Balderson, Andrew Trice, Peter Ent,
  Joe Berkovitz, Tom Sugden, Todd Prekaski,
  David Hassoun, and Jun Heider.

http://www.mathewfabb.com
contactme@matthewfabb.com
@mattthewfabb
Adobe & mobile
Dreamweaver CS5.5
  jQuery Mobile integration
  Allows you to create Android & iOS apps with PhoneGap
     using HTML, JS & CSS
Adobe “Wallaby”
  Converts Flash into HTML5 content
  Very basic animations, good for banner ads
  WebKit only & optimized for iOS
Adobe “Edge” prototype
  HTML5 animation tool
  Uses jQuery
Adobe & Mobile
Digital Publishing Suite
   Creates digital magazines for iOS, Android &
     PlayBook (possibly for WebOS in the future)
Photoshop Touch SDK
Flash CS5.5
   CS5 targeted iOS & now CS5.5 adds Android &
    Playbook
Flash Builder 4.5
   Includes Flex SDK 4.5 that has components
     targeted for mobile
Flash & AIR - Reach
Xoom, Galaxy Tab, Droid2, iPod Touch, iPad and in the browser.
What is Flex?
Flex is an Adobe open source framework to create Flash
  applications
MXML, an XML-based mark up language is used to layout
 the interface of the application
ActionScript is used with the MXML for interactivity
CSS can be used to style the application
MXML, CSS & ActionScript is compiled into generated
 ActionScript which is then compiled into a SWF file
Adobe AIR



AIR for desktop
   .AIR file for Mac, Linux, PC
AIR for mobile
   .IPA file for iOS
   .APK file for Android
   .BAR file for PlayBook
What is Flex?
The Flex compiler is free & open source
Developers can create Flex applications via:
   Adobe's Flash Builder
   3rd party tools such as FlashDevelop or FDT
   Any text editor & the Flex compiler
Flex 4.5
Next version of the Flex SDK is 4.5, code named Flex Hero
Additional features were added to regular Flex applications,
  but the main focus was mobile
Mobile Application
Supports hardware keys
Orientation support
Provides API to save data between application sessions
  & interruptions (such as phone calls)
Has 2 methods of dealing with multiple DPIs on different
  devices
480x320   800x480   854x480   960x640   1024x600   1024x768
160 DPI   240 DPI   240 DPI   326 DPI    170 DPI    120 DPI
Goals of Flex 4.5
Hero's 3 main goals of Flex 4.5
   Spark Maturation
      Flex 4 Spark components still lag behind MX
        components
      Likely not to catch up completely in 4.5
   Large-Application Development
      Better RSLs
          You can no use RSLs with monkey patching
      More spark componets:
          DataGrid, Form, PopUpContainer
      Text Layout Framework 2.0 integration
   Multi-Screen Development
      Mobile
What Flex 4.5 Mobile is made up of?
Mobile theme
Mobile Application
View & ViewNavigator
Mobile Application Components
    ActionBar
    Text Components
    List, Scroller and Touch Gestures
Mobile Splash Screen
Mobile View Menu – For Android menu settings hardware button
Functionality to deal with different DPI
Soft keyboard support
Flex 4.5 app breakdown
ActionBar can appear above or bellow the view or both
ActionBar is consistent while the View changes from
  screen to screen
Mobile theme
Set of skins that are quite different from the regular Spark skins
Designed and optimized for mobile devices
For performance reasons all graphics are FXG and interaction is pure
   ActionScript
Mobile skins in the preview for the following regular spark components:
    Button
    CheckBox
    RadioButton
    TextInput
    TextArea
    List
    Scrollbar
    More to come
      before final release
View & ViewNavigator
The basis of how Flex Hero mobile works
The main area is a stack where views are popped on
  and off
Only one view is visible at a time
When leaving a view the UI objects are destroyed, but
 data object persists, keeping the memory footprint
 small
You can override the destruction of the UI, if it's an
  expensive UI to build and destroy (detailed chart with
  lots of visible data)
A history is maintained and when the back button is
  pressed it cycles through the history
Transitions can be easily added from one screen to
  another
ActionBar
There's 3 areas of the ActionBar
   navigationContent, titleContent and actionContent




All are optional just like the ActionBar itself
TitleContent default has a label displaying the view title
   Can be disabled to just have the title of the app or
     something else similar
Can be used with view transitions to animated in-sync with
  the view
Mobile text components
Optimized for mobile
TLF (Text Layout Framework) is not used and discouraged
  for mobile
   A mobile version of TLF is in the works but is not
     ready yet
Flex mobile text components use old school TextField which
  has better performance over the new FTE (Flash Text
  Engine)
Additional components
Mobile List, Scroller
   Similar to regular list, but optimized using
     MobileItemRenderer & responds to touch events
Splash screen
   A graphic or animation to show as your application
     starts up and initializes
Mobile View Menu
   Not in the latest build, but in the specification and is
    a menu that appears when the physical menu
    button on Android devices is pressed
Dealing with multiple DPIs
Flex Hero has multiple ways displaying content at different
  DPIs
In dealing with different DPI's, Flex Hero divides it into 3
   sections:
   160 dpi
       < 200
   240 dpi
       >= 200
       < 280
   320 dpi
       <= 280
Dealing with multiple DPIs
ApplicaitonDPI
   Get the app working on one DPI, set that DPI and
    have the app scale up or down for other DPIs
MultiDPIBitmapSource
         <s:MultiDPIBitmapSource
            source160dpi="logo.png"
            source240dpi="logo240.png"
            source320dpi="logo320.png" />
CSS that deals with multiple DPIs

More Related Content

What's hot

Flutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutionsFlutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutionsSkywave Info Solutions
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Concetto Labs
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicYounes Adounis
 
Windows Phone7 Development
Windows Phone7 DevelopmentWindows Phone7 Development
Windows Phone7 DevelopmentDanish Mehraj
 
Cross platform apps using Xamarin
Cross platform apps using XamarinCross platform apps using Xamarin
Cross platform apps using Xamarineduquer
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinXamarin
 
Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!All Things Open
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Xamarin
 
Benefits of xamarin
Benefits of xamarinBenefits of xamarin
Benefits of xamarinMindfire LLC
 
What Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for MarketersWhat Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for MarketersBen Gaddis
 
Microsoft Speech Technologies for Developers
Microsoft Speech Technologies for DevelopersMicrosoft Speech Technologies for Developers
Microsoft Speech Technologies for DevelopersNick Landry
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarinJerel Hass
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureXamarin
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Xamarin
 
Telerik app builder
Telerik app builderTelerik app builder
Telerik app buildermssaman
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platformGuada Casuso
 

What's hot (20)

Flutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutionsFlutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutions
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
 
Windows Phone7 Development
Windows Phone7 DevelopmentWindows Phone7 Development
Windows Phone7 Development
 
Cross platform apps using Xamarin
Cross platform apps using XamarinCross platform apps using Xamarin
Cross platform apps using Xamarin
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
 
Hybridapp
HybridappHybridapp
Hybridapp
 
Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!Evolution of Xamarin.Forms!
Evolution of Xamarin.Forms!
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 
Benefits of xamarin
Benefits of xamarinBenefits of xamarin
Benefits of xamarin
 
What Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for MarketersWhat Apple's iOS 5 Means for Marketers
What Apple's iOS 5 Means for Marketers
 
Windows Phone 7
Windows Phone 7Windows Phone 7
Windows Phone 7
 
Microsoft Speech Technologies for Developers
Microsoft Speech Technologies for DevelopersMicrosoft Speech Technologies for Developers
Microsoft Speech Technologies for Developers
 
Xamarin the good, the bad and the ugly
Xamarin  the good, the bad and the uglyXamarin  the good, the bad and the ugly
Xamarin the good, the bad and the ugly
 
Designing mobile applications with xamarin
Designing mobile applications with xamarinDesigning mobile applications with xamarin
Designing mobile applications with xamarin
 
Build Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft AzureBuild Better Games with Unity and Microsoft Azure
Build Better Games with Unity and Microsoft Azure
 
Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017Intro to Xamarin.Forms for Visual Studio 2017
Intro to Xamarin.Forms for Visual Studio 2017
 
Telerik app builder
Telerik app builderTelerik app builder
Telerik app builder
 
Dashboard Simulator
Dashboard SimulatorDashboard Simulator
Dashboard Simulator
 
Xamarin cross platform
Xamarin cross platformXamarin cross platform
Xamarin cross platform
 

Viewers also liked

Test slide
Test slideTest slide
Test slideVũ Linh
 
FlashInTO SVN Presentation
FlashInTO SVN PresentationFlashInTO SVN Presentation
FlashInTO SVN PresentationMatthew Fabb
 
Viajeros Barceló
Viajeros BarcelóViajeros Barceló
Viajeros Barcelóguest240951
 
Crash Course In Cloud Computing
Crash Course In Cloud ComputingCrash Course In Cloud Computing
Crash Course In Cloud ComputingJimDelRosso
 
Extending Zend Framework
Extending Zend FrameworkExtending Zend Framework
Extending Zend FrameworkPHPBelgium
 
Crash course in cloud computing (May 2010)
Crash course in cloud computing (May 2010)Crash course in cloud computing (May 2010)
Crash course in cloud computing (May 2010)JimDelRosso
 
Html5 Video Vs Flash Video presentation
Html5 Video Vs Flash Video presentationHtml5 Video Vs Flash Video presentation
Html5 Video Vs Flash Video presentationMatthew Fabb
 
La raccolta differenziata dei rifiuti
La raccolta differenziata dei rifiutiLa raccolta differenziata dei rifiuti
La raccolta differenziata dei rifiutiCatalini Teresa
 
Educacion Vial, Presentacion
Educacion Vial, PresentacionEducacion Vial, Presentacion
Educacion Vial, Presentacionesanorbridge
 
Introduction to PHPBelgium
Introduction to PHPBelgiumIntroduction to PHPBelgium
Introduction to PHPBelgiumPHPBelgium
 
Il Lungo Viaggio Di Enea
Il Lungo Viaggio Di EneaIl Lungo Viaggio Di Enea
Il Lungo Viaggio Di EneaCatalini Teresa
 

Viewers also liked (16)

Test slide
Test slideTest slide
Test slide
 
FlashInTO SVN Presentation
FlashInTO SVN PresentationFlashInTO SVN Presentation
FlashInTO SVN Presentation
 
Viajeros Barceló
Viajeros BarcelóViajeros Barceló
Viajeros Barceló
 
Odissea
OdisseaOdissea
Odissea
 
L'odissea
L'odisseaL'odissea
L'odissea
 
2
22
2
 
Crash Course In Cloud Computing
Crash Course In Cloud ComputingCrash Course In Cloud Computing
Crash Course In Cloud Computing
 
Extending Zend Framework
Extending Zend FrameworkExtending Zend Framework
Extending Zend Framework
 
Crash course in cloud computing (May 2010)
Crash course in cloud computing (May 2010)Crash course in cloud computing (May 2010)
Crash course in cloud computing (May 2010)
 
Html5 Video Vs Flash Video presentation
Html5 Video Vs Flash Video presentationHtml5 Video Vs Flash Video presentation
Html5 Video Vs Flash Video presentation
 
La raccolta differenziata dei rifiuti
La raccolta differenziata dei rifiutiLa raccolta differenziata dei rifiuti
La raccolta differenziata dei rifiuti
 
Educacion Vial, Presentacion
Educacion Vial, PresentacionEducacion Vial, Presentacion
Educacion Vial, Presentacion
 
2
22
2
 
Introduction to PHPBelgium
Introduction to PHPBelgiumIntroduction to PHPBelgium
Introduction to PHPBelgium
 
Il Lungo Viaggio Di Enea
Il Lungo Viaggio Di EneaIl Lungo Viaggio Di Enea
Il Lungo Viaggio Di Enea
 
Odissea
OdisseaOdissea
Odissea
 

Similar to Developing for Mobile with Adobe AIR

Mobile Apps using Flex and ColdFusion
Mobile Apps using Flex and ColdFusionMobile Apps using Flex and ColdFusion
Mobile Apps using Flex and ColdFusionTerry Ryan
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentRyan Stewart
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen developmenteaselsolutions
 
Introduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesIntroduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesRyan Stewart
 
AIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & SkinningAIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & SkinningRenaun Erickson
 
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Himanshu Sharan
 
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Himanshu Sharan
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app developmentIBM Software India
 
Multiscreen Development with Adobe Air
Multiscreen Development with Adobe AirMultiscreen Development with Adobe Air
Multiscreen Development with Adobe Aireaselsolutions
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0guest642dd3
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsPaul Withers
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexMatthias Zeller
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureAppzure -Mobile App Development
 
Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flexnamero999
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookMihai Corlan
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigationoppokui
 
flutter-general-report.docx
flutter-general-report.docxflutter-general-report.docx
flutter-general-report.docxKuntalSasmal1
 

Similar to Developing for Mobile with Adobe AIR (20)

Mobile Apps using Flex and ColdFusion
Mobile Apps using Flex and ColdFusionMobile Apps using Flex and ColdFusion
Mobile Apps using Flex and ColdFusion
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen Development
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
Introduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesIntroduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile Devices
 
AIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & SkinningAIR Mobile Application Development: Package, Building, Design & Skinning
AIR Mobile Application Development: Package, Building, Design & Skinning
 
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
 
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app development
 
Multiscreen Development with Adobe Air
Multiscreen Development with Adobe AirMultiscreen Development with Adobe Air
Multiscreen Development with Adobe Air
 
iPhone Programming
iPhone ProgrammingiPhone Programming
iPhone Programming
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile Controls
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - Appzure
 
Introduction to Flex
Introduction to FlexIntroduction to Flex
Introduction to Flex
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
flutter-general-report.docx
flutter-general-report.docxflutter-general-report.docx
flutter-general-report.docx
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Developing for Mobile with Adobe AIR

  • 1. Sheridan Mobile Summit 2011 Developing for Mobile with Adobe AIR By Matthew Fabb
  • 2. Who Am I? Education Sheridan's System Analyst/Computer Programmer in 2000 Sheridan's Interactive Mulitmedia in 2002 I am currently a developer at StickerYou I was a technical editor on Wrox’s Professional Flex 3 Authored by: Joseph Balderson, Andrew Trice, Peter Ent, Joe Berkovitz, Tom Sugden, Todd Prekaski, David Hassoun, and Jun Heider. http://www.mathewfabb.com contactme@matthewfabb.com @mattthewfabb
  • 3. Adobe & mobile Dreamweaver CS5.5 jQuery Mobile integration Allows you to create Android & iOS apps with PhoneGap using HTML, JS & CSS Adobe “Wallaby” Converts Flash into HTML5 content Very basic animations, good for banner ads WebKit only & optimized for iOS Adobe “Edge” prototype HTML5 animation tool Uses jQuery
  • 4. Adobe & Mobile Digital Publishing Suite Creates digital magazines for iOS, Android & PlayBook (possibly for WebOS in the future) Photoshop Touch SDK Flash CS5.5 CS5 targeted iOS & now CS5.5 adds Android & Playbook Flash Builder 4.5 Includes Flex SDK 4.5 that has components targeted for mobile
  • 5. Flash & AIR - Reach
  • 6. Xoom, Galaxy Tab, Droid2, iPod Touch, iPad and in the browser.
  • 7. What is Flex? Flex is an Adobe open source framework to create Flash applications MXML, an XML-based mark up language is used to layout the interface of the application ActionScript is used with the MXML for interactivity CSS can be used to style the application MXML, CSS & ActionScript is compiled into generated ActionScript which is then compiled into a SWF file
  • 8. Adobe AIR AIR for desktop .AIR file for Mac, Linux, PC AIR for mobile .IPA file for iOS .APK file for Android .BAR file for PlayBook
  • 9. What is Flex? The Flex compiler is free & open source Developers can create Flex applications via: Adobe's Flash Builder 3rd party tools such as FlashDevelop or FDT Any text editor & the Flex compiler
  • 10. Flex 4.5 Next version of the Flex SDK is 4.5, code named Flex Hero Additional features were added to regular Flex applications, but the main focus was mobile
  • 11. Mobile Application Supports hardware keys Orientation support Provides API to save data between application sessions & interruptions (such as phone calls) Has 2 methods of dealing with multiple DPIs on different devices
  • 12. 480x320 800x480 854x480 960x640 1024x600 1024x768 160 DPI 240 DPI 240 DPI 326 DPI 170 DPI 120 DPI
  • 13. Goals of Flex 4.5 Hero's 3 main goals of Flex 4.5 Spark Maturation Flex 4 Spark components still lag behind MX components Likely not to catch up completely in 4.5 Large-Application Development Better RSLs You can no use RSLs with monkey patching More spark componets: DataGrid, Form, PopUpContainer Text Layout Framework 2.0 integration Multi-Screen Development Mobile
  • 14. What Flex 4.5 Mobile is made up of? Mobile theme Mobile Application View & ViewNavigator Mobile Application Components ActionBar Text Components List, Scroller and Touch Gestures Mobile Splash Screen Mobile View Menu – For Android menu settings hardware button Functionality to deal with different DPI Soft keyboard support
  • 15. Flex 4.5 app breakdown ActionBar can appear above or bellow the view or both ActionBar is consistent while the View changes from screen to screen
  • 16. Mobile theme Set of skins that are quite different from the regular Spark skins Designed and optimized for mobile devices For performance reasons all graphics are FXG and interaction is pure ActionScript Mobile skins in the preview for the following regular spark components: Button CheckBox RadioButton TextInput TextArea List Scrollbar More to come before final release
  • 17. View & ViewNavigator The basis of how Flex Hero mobile works The main area is a stack where views are popped on and off Only one view is visible at a time When leaving a view the UI objects are destroyed, but data object persists, keeping the memory footprint small You can override the destruction of the UI, if it's an expensive UI to build and destroy (detailed chart with lots of visible data) A history is maintained and when the back button is pressed it cycles through the history Transitions can be easily added from one screen to another
  • 18. ActionBar There's 3 areas of the ActionBar navigationContent, titleContent and actionContent All are optional just like the ActionBar itself TitleContent default has a label displaying the view title Can be disabled to just have the title of the app or something else similar Can be used with view transitions to animated in-sync with the view
  • 19. Mobile text components Optimized for mobile TLF (Text Layout Framework) is not used and discouraged for mobile A mobile version of TLF is in the works but is not ready yet Flex mobile text components use old school TextField which has better performance over the new FTE (Flash Text Engine)
  • 20. Additional components Mobile List, Scroller Similar to regular list, but optimized using MobileItemRenderer & responds to touch events Splash screen A graphic or animation to show as your application starts up and initializes Mobile View Menu Not in the latest build, but in the specification and is a menu that appears when the physical menu button on Android devices is pressed
  • 21. Dealing with multiple DPIs Flex Hero has multiple ways displaying content at different DPIs In dealing with different DPI's, Flex Hero divides it into 3 sections: 160 dpi < 200 240 dpi >= 200 < 280 320 dpi <= 280
  • 22. Dealing with multiple DPIs ApplicaitonDPI Get the app working on one DPI, set that DPI and have the app scale up or down for other DPIs MultiDPIBitmapSource <s:MultiDPIBitmapSource source160dpi="logo.png" source240dpi="logo240.png" source320dpi="logo320.png" /> CSS that deals with multiple DPIs

Editor's Notes

  1. How many designers out there? How many developers? How many Flex developers? Developers familiar with Flex 4?
  2. supports hardware keys currently only back button, but looks like support for menu button is coming in a later release orientation support keeps track of the device orientation as a Flex state you can create a UI that changes with orientation or you can give it a completely different view provides API to save data between application sessions &amp; phone calls note the data that is saved is not encrypted best not use this for any sensitive data, unless you add your own encryption