Building mobile applications with Flex
      Michaël Chaize | Flash Platform Evangelist




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Menu du jour




                                                                             Flex & Flash on mobile
                                                                             Live coding for Android
                                                                             Flex, Java and Real-time
                                                                             Resources




                                                                                        2
©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Two superheros to save mobile applications developers




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   3
Adobe Flex




© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   4
Adobe Flex basics


                   Flash Builder IDE                                                                  Browser

         Flex SDK                                                                                     Flash Player
               MXML                    ActionScript

                     Flex Class Library                                       SOAP           HTTP/S             AMF/S         RTMP/S



                                                                               Web Server
                            Compile
                                                                              XML/HTTP
                                                                                                                Adobe Data Services
                                                                              REST
                                                                              SOAP Web Services           J2EE Application Server

                                                                                     Existing Applications & Infrastructure


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.          5
FLEX FRAMEWORK 3

OLD COMPONENT MODEL




                      Component / Skin




                                         Graphics
                                         Layout
                                         Animation
                                         Parts
                                         States
                                         Behavior
                                         Logic
                                         Data
FLEX FRAMEWORK 4

SPARK COMPONENT MODEL




                   ActionScript                    MXML


                    Component                        Skin




                                                    Graphics
                     Behavior                        Layout
                                                   Animation
                      Logic
                                  CSS properties      Parts
                       Data                          States
First-class interfaces




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Flex on mobile ?
Open Screen Project

                      Technologic partners                                    Content providers




© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Native Applications




                  Native                                  Native   Native   Native   Native   Native
                   App                                     App      App      App      App      App




                        iOS                                                                    ?


© 2010 Adobe Systems Incorporated. All Rights Reserved.
Abstraction Layer




                                                                        Flex Application



                                                                  Adobe runtimes (Flash & AIR)



                        iOS                                                                             ?
                    2011                                  READY       READY         soon         soon




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Flex “Hero”




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Mobile Applications in "Hero"

                   s:Application                          s:MobileApplication   s:TabbedMobileApplication




© 2010 Adobe Systems Incorporated. All Rights Reserved.               14
<s:MobileApplication> life cycle

                       views.ListEmployees                views.DetailsEmployee   views.ListEmployees




                                                               view destroyed        view created



                              view destroyed                view created




                                                             “BACK” bu on

                                         DATA                      subset               DATA

                                                           persisted in memory
© 2010 Adobe Systems Incorporated. All Rights Reserved.             15
ActionBar




                     navigationContent                    titleContent   actionContent



 <s:View xmlns:fx=http://ns.adobe.com/mxml/2009 …
         title=”Expenses">

                            <s:navigationContent>
                                    <s:Button icon="@Embed('assets/home.png')"/>
                            </s:navigationContent>

         <s:actionContent>
                 <s:Button label=”+"/>
         </s:actionContent>
 </s:View>


© 2010 Adobe Systems Incorporated. All Rights Reserved.          16                      3
Components that have Mobile Skins


                                                          §   Button
                                                          §   CheckBox
                                                          §   DataGroup
                                                          §   Group/HGroup/VGroup/TileGroup
                                                          §   Image/BitmapImage
                                                          §   Label List
                                                          §   RadioButton/RadioButtonGroup
                                                          §   Scroller
                                                          §   TextArea
                                                          §   TextInput




© 2010 Adobe Systems Incorporated. All Rights Reserved.           17
Mobile applications + JAVA = REAL-TIME




© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   18
IN-CONTEXT COLLABORATION

 LiveCycle Collaboration Service



                           Webcam   Chat




     Shared
     Form
LiveCycle Collaboration Service


    Multi-user collaboration in real time
     §    Engage more effectively through a web presence enhanced
           with real-time collaboration tools.
     §    Integrate text chat, whiteboard functionality, webcam video,
           and audio into any rich Internet application (RIA),




 Major Capabilities


 Peer-to-peer (P2P) streaming of data, audio and video                        HTTP server-to-server APIs
 Private audio/video streaming                                                Server-side provisioning of services

 Large Rooms – via on-demand loading of user                                  Audio/video application multicast
 presence

 Record and Playback                                                          Screen sharing
 JavaScript APIs – integration with a customer’s exist
                                                     ting websites



© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.        20
All external content and images pending approvals.
LiveCycle Data Services today




                                                                     Flex Client   Flex Client        Flex Client




                                                                     LCDS




                                                                                   Java Classes

                                                                                       Thing1.class
                                                                                       Thing2.class
                                                                                       Thing3.class



© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.                21
LiveCycle Data Services tomorrow (2011)




HTML5/JS Client                          Java Client                           Flex Client                     Flex Client   Flex Client           Android Client      ObjC Client




                                                                                                            .NET Adapter
                                                                                                               Remoting
                                                                                                               Messaging
                                                                                                               Data Mgmt                                  IIS Plugin
                                                                                                                                                              .NET Remoting
               LCDS

                                                                                             .NET Adapter
                                                                                                                                                              Messaging
                                                                                                                                                              MSMQ Messaging




                                                                                                                                       NET
                                                            Java Classes                                                         .NET C# Classes

                                                                 Thing1.class                                                         Thing1.dll
                                                                                                                                         ??.???
                                                                 Thing2.class                                                         Thing2.dll
                                                                                                                                         ??.???
                                                                 Thing3.class                                                         Thing3.dll
                                                                                                                                         ??.???



 © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.                                           22
Publish/Subscribe Messaging




                                                                               LiveCycle DS / Blaze DS


                           §Client A



                                                                                               Message
                                                                               Endpoint
                                                                                                Service


                           §Client B




                                                                      §RTMP
                           §Client C
                                                                      §AMF               Publisher
                                                                      §HTTP              Subscriber



© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Data Push - Messaging




                                                                              LiveCycle DS / Blaze DS

                                                                                                                      Messaging
                                                                                                        Adapter X
                                                                                                                      System X



                                                                                            Message                   JMS
                                                                              Endpoint                  JMS Adapter
                                                                                            Services                  Provider



                                                                                                                      Messaging
                                                                                                        Adapter Y
                                                                                                                      System Y




                                                      §RTMP

                                                      §AMF                              Publisher
                                                      §HTTP                             Subscriber



© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Data Push - Messaging

public static class GPSThread extends Thread {
	 	 public boolean running = true;

	      	        public void run() {
	      	        	 MessageBroker msgBroker = MessageBroker.getMessageBroker(null);
	      	        	 String clientID = UUIDUtils.createUUID();

	      	        	         while (running) {
	      	        	         	 double change = gpsService.getCurrentPosition();

	      	        	         	        AsyncMessage msg = new AsyncMessage();
	      	        	         	        msg.setDestination("feed");
	      	        	         	        msg.setClientId(clientID);
	      	        	         	        msg.setMessageId(UUIDUtils.createUUID());
	      	        	         	        msg.setTimestamp(System.currentTimeMillis());
	      	        	         	        msg.setBody(new Double(change));
	      	        	         	        msgBroker.routeMessageToService(msg, null);

	      	        	         	        try {
	      	        	         	        	 Thread.sleep(300);
	      	        	         	        } catch (InterruptedException e) {
	      	        	         	        }

© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Two superheros to save mobile applications developers




ADOBE FLASH PLATFORM                                                                         JAVA SUPER POWER

Rich interfaces for your                                                            Expose your data using HTTP,
web, desktop and mobile apps.                                                                SOAP, Remote AMF.
Real-time collaboration.                                                                    Real-time data push.



 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   26
Michaël Chaize & resources




                                                                              RIAgora.com         Flex.org
                                                                                              labs.adobe.com
                                                                                            developer.adobe.com

                    @mchaize                                                                Tour de Mobile Flex


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.         27
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Bar Chart

Try to use neutral colors for most chart elements, and highlight elements of interest
with bright colors


               5.0



               3.8


                                                                                                                          Series 1
               2.5                                                                                                        Series 2
                                                                                                                          Series 3


               1.3



                  0
                                   Category 1                                 Category 2        Category 3   Category 4


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.                29
Pie Chart

Try to use neutral colors for most chart elements, and highlight elements of interest
with bright colors



                                                                              Sales



                                                                                      1st Qtr
                                                                                      2nd Qtr
                                                                                      3rd Qtr
                                                                                      4th Qtr




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.     30
Gray Content Area Layout

For use with full-screen images or diagrams that look good on gray




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   31
Mobile APIs




© 2010 Adobe Systems Incorporated. All Rights Reserved.   32
GEO APIs

 §    Android Permission Required:
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission
 android:name="android.permission.ACCESS_FINE_LOCATION" />

 §    Geolocation.isSupported
 §    g.addEventListener(GeolocationEvent.UPDATE, callbackFunction);
 §    GeolocationEvent:
       §     altitude

       §     heading

       §     horizontalAccuracy

       §     latitude

       §     longitude

       §     speed

       §     timestamp

       §     verticalAccuracy




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Accelerometer APIs

 §    Accelerometer.isSupported
 §    a.addEventListener(AccelerometerEvent.UPDATE, callbackFunction);
 §    AccelerometerEvent:
       §     accelerationX
       §     accelerationY
       §     accelerationZ
       §     timestamp




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Multi-Touch APIs

 §    Android manifest change:
 <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>

 §    Gesture OR Multitouch --- Multitouch.inputMode


         MultitouchInputMode.GESTURE                                       §   MultitouchInputMode.TOUCH_POINT
  §


                TransformGestureEvent                                             §   TouchEvent
         §


                     GESTURE_PAN                                                          §   TOUCH_BEGIN
                §


                     GESTURE_ROTATE                                                       §   TOUCH_END
                §


                     GESTURE_SWIPE                                                        §   TOUCH_MOVE
                §


                     GESTURE_ZOOM                                                         §   TOUCH_OUT
                §


                GestureEvent.GESTURE_TWO_FINGER_TAP                                       §   TOUCH_OVER
         §


                PressAndTapGestureEvent.GESTURE_PRESS_AND_TAP                             §   TOUCH_ROLL_OUT
         §

                                                                                          §   TOUCH_ROLL_OVER

                                                                                          §   TOUCH_TAP




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Remote Data

 §    Android Permission Required:
      <uses-permission android:name="android.permission.INTERNET"/>
 §    Standard Flex Networking Libraries:
       §     HTTPService
       §     WebService
       §     RemoteObject




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Full Screen & Orientation

 §    stage.displayState = StageDisplayState.NORMAL
 §    stage.displayState = StageDisplayState.FULL_SCREEN
 §    stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE


 §    StageOrientationEvent:
 stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, callbackFunction);

 §    foo-app.xml:
                            <initialWindow>
                                                          <autoOrients>true</autoOrients>




© 2010 Adobe Systems Incorporated. All Rights Reserved.
Camera Access

 §    Camera - Raw camera feed
 <uses-permission android:name="android.permission.CAMERA" />

 <uses-feature android:name="android.hardware.camera" android:required="true"/>

 <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

 <uses-feature android:name="android.hardware.camera.flash" android:required="false"/>

 §    CameraUI - Native Camera App
 var cameraUI:CameraUI = new CameraUI();

 cameraUI.launch(MediaType.IMAGE);

 §    CameraRoll - Choose photos from the device's camera roll
 var cameraRoll:CameraRoll = new CameraRoll();

 cameraRoll.browseForImage();

 cameraRoll.addBitmapData(bd);




© 2010 Adobe Systems Incorporated. All Rights Reserved.   38
Native App Integration

 §    Open Email, Browser, Maps, Phone, or SMS
       §     navigateToURL(new URLRequest('mailto:foo@bar.com'));
       §     navigateToURL(new URLRequest('http://www.jamesward.com'));
       §     navigateToURL(new URLRequest('http://maps.google.com/'));
       §     navigateToURL(new URLRequest('tel:1234567890'));
       §     navigateToURL(new URLRequest('sms:1234567890'));




© 2010 Adobe Systems Incorporated. All Rights Reserved.   39
Local DB APIs

 §    SQLite - Nothing different than AIR for the Desktop
 §    SQLConnection
       §     Sync and/or Async connections

 §    SQLStatement
       §     Prepared Statements:

 var stmt:SQLStatement = new SQLStatement();
 stmt.sqlConnection = FlexGlobals.topLevelApplication['sqlConnection'];
 stmt.text = "INSERT into giberish values(:giberish)";
 stmt.parameters[":giberish"] = g.text;
 stmt.execute();




© 2010 Adobe Systems Incorporated. All Rights Reserved.
StageWebView

 §    Requires Android INTERNET permission:
 <uses-permission android:name="android.permission.INTERNET" />
 §    WebStageView.isSupported
 var swv:StageWebView = new StageWebView();
 swv.viewPort = new Rectangle(0, stage.height - height, width, height);
 swv.stage = stage;
 swv.loadURL("http://www.riagora.com");




© 2010 Adobe Systems Incorporated. All Rights Reserved.   41
Black Content Area Layout

For use with full-screen images or diagrams that look good on black




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   42
Color Palette


        Dynamic                                                                                             Note

                                                                                                            The Adobe corporate color
                                                                                                            palette has been incorporated
                                                                                                            into this presentation template.
        R - 255                R – 251                  R - 255               R - 193   R-0       R - 131
        G-0                    G - 176                  G - 221               G - 216   G - 164   G - 72
        B-0                    B - 52                   B-0                   B - 47    B - 228   B - 181   Refer to the Corporate Brand
                                                                                                            Guidelines, found on Brand
                                                                                                            Center for more guidance on
                                                                                                            using this color palette
        Neutral
                                                                                                            www.adobe.com/brandecenter




        R - 218               R - 172                 R - 107                 R - 228   R - 192   R - 136
        G - 221               G - 179                 G - 115                 G - 223   G - 181   G - 120
        B – 224               B - 185                 B - 123                 B - 217   B - 169   B - 104




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

PDF
Flex 4.5 and mobile development
PDF
Adobe flex at jax london 2011
PDF
Using design pattern for mobile
PDF
Jax2010 adobe lcds
PDF
Ria2010 workshop dev mobile
PDF
Flex mobile for JUG
PDF
JAX2010 Flex Java technical session: interactive dashboard
PDF
Jax2001 adobe keynote
Flex 4.5 and mobile development
Adobe flex at jax london 2011
Using design pattern for mobile
Jax2010 adobe lcds
Ria2010 workshop dev mobile
Flex mobile for JUG
JAX2010 Flex Java technical session: interactive dashboard
Jax2001 adobe keynote

What's hot (20)

PDF
Fatc - Productivity by Design
PDF
Montpellier - Flex UG
PDF
Over the air 2.5 - Adobe AIR for Android
PDF
Flash camp portugal - Let's talk about Flex baby
PDF
Best practices for Flash applications on mobile devices
PDF
Oop2012 mobile workshops
PDF
Ria2010 - keynote - Evolution des RIA d'Entreprise
PDF
Jax 2011 keynote
PDF
Flex and the city in London - Keynote
PDF
Xplatform mobile development
PDF
Adobe flash platform java
PDF
Breizh camp adobe flex et les mobiles
PDF
Adobe et la stratégie multi-écrans
PDF
Adobe Flex体系架构深度剖析
PDF
Adobe Flash platform の法人利用
PDF
Flex presentation for Paris Android User group PAUG
PDF
Back From MAX in London for CQ5 users
PDF
Xebia adobe flash mobile applications
PDF
Enrique Duvos: Adobe RIA Platform
PDF
Fm Mc Presentation Ria2008
Fatc - Productivity by Design
Montpellier - Flex UG
Over the air 2.5 - Adobe AIR for Android
Flash camp portugal - Let's talk about Flex baby
Best practices for Flash applications on mobile devices
Oop2012 mobile workshops
Ria2010 - keynote - Evolution des RIA d'Entreprise
Jax 2011 keynote
Flex and the city in London - Keynote
Xplatform mobile development
Adobe flash platform java
Breizh camp adobe flex et les mobiles
Adobe et la stratégie multi-écrans
Adobe Flex体系架构深度剖析
Adobe Flash platform の法人利用
Flex presentation for Paris Android User group PAUG
Back From MAX in London for CQ5 users
Xebia adobe flash mobile applications
Enrique Duvos: Adobe RIA Platform
Fm Mc Presentation Ria2008
Ad

Viewers also liked (8)

PDF
Guide du code barre 2D - AFMM 2011
PDF
The magic world of APT 0.6 - Pompili
PDF
OAuth 2.0 – A standard is coming of age by Uwe Friedrichsen
PDF
Native Javascript apps with PhoneGap by Martin de Keijzer
PDF
Cara cloud, ha chiamato l’utente, rivuole la sicurezza by Alessandro Manfredi
PDF
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
PDF
Getting started with go - Florin Patan - Codemotion Milan 2016
PPTX
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Guide du code barre 2D - AFMM 2011
The magic world of APT 0.6 - Pompili
OAuth 2.0 – A standard is coming of age by Uwe Friedrichsen
Native Javascript apps with PhoneGap by Martin de Keijzer
Cara cloud, ha chiamato l’utente, rivuole la sicurezza by Alessandro Manfredi
Milano Chatbots Meetup - Vittorio Banfi - Bot Design - Codemotion Milan 2016
Getting started with go - Florin Patan - Codemotion Milan 2016
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Ad

Similar to Develop multi-screen applications with Flex (20)

PDF
Develop mobile applications with Flex
PDF
Android Development with Flash Platform
PDF
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
PDF
Adobe AIR Mobile development for Android and PlayBook
PDF
Adobe flash platform java
PDF
MMT 28: Adobe »Edge to the Flash«
PDF
Flex Air Intro
PDF
Flash Applications For Mobile
PDF
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
PDF
Flexpaug 111207121300-phpapp01
PDF
air
PDF
Drupal and-flex-drupal camp
PDF
Creating Flash Content for Mobile Devices
PPTX
WebBee rapid web app development teck stack
PDF
IBM Worklight - Technical Overview
PDF
Qcon flex体系架构深度剖析
PPT
Developing RIAs... 10 reasons to use Adobe Flex
PDF
Flex User Group breton
PDF
Building cross platform mobile web apps
PPTX
Starting mobile development
Develop mobile applications with Flex
Android Development with Flash Platform
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Adobe AIR Mobile development for Android and PlayBook
Adobe flash platform java
MMT 28: Adobe »Edge to the Flash«
Flex Air Intro
Flash Applications For Mobile
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
Flexpaug 111207121300-phpapp01
air
Drupal and-flex-drupal camp
Creating Flash Content for Mobile Devices
WebBee rapid web app development teck stack
IBM Worklight - Technical Overview
Qcon flex体系架构深度剖析
Developing RIAs... 10 reasons to use Adobe Flex
Flex User Group breton
Building cross platform mobile web apps
Starting mobile development

More from Codemotion (20)

PDF
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
PDF
Pompili - From hero to_zero: The FatalNoise neverending story
PPTX
Pastore - Commodore 65 - La storia
PPTX
Pennisi - Essere Richard Altwasser
PPTX
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
PPTX
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
PPTX
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
PPTX
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
PDF
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
PDF
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
PDF
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
PDF
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
PDF
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
PDF
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
PPTX
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
PPTX
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
PDF
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
PDF
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
PDF
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
PDF
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Pompili - From hero to_zero: The FatalNoise neverending story
Pastore - Commodore 65 - La storia
Pennisi - Essere Richard Altwasser
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019

Recently uploaded (20)

PDF
Co-training pseudo-labeling for text classification with support vector machi...
PPTX
Module 1 Introduction to Web Programming .pptx
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
CEH Module 2 Footprinting CEH V13, concepts
PDF
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
PDF
The AI Revolution in Customer Service - 2025
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Examining Bias in AI Generated News Content.pdf
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
Co-training pseudo-labeling for text classification with support vector machi...
Module 1 Introduction to Web Programming .pptx
Build automations faster and more reliably with UiPath ScreenPlay
CEH Module 2 Footprinting CEH V13, concepts
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
The AI Revolution in Customer Service - 2025
LMS bot: enhanced learning management systems for improved student learning e...
A symptom-driven medical diagnosis support model based on machine learning te...
Auditboard EB SOX Playbook 2023 edition.
Examining Bias in AI Generated News Content.pdf
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
NewMind AI Weekly Chronicles – August ’25 Week IV
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Connector Corner: Transform Unstructured Documents with Agentic Automation
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Ensemble model-based arrhythmia classification with local interpretable model...

Develop multi-screen applications with Flex

  • 1. Building mobile applications with Flex Michaël Chaize | Flash Platform Evangelist © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 2. Menu du jour Flex & Flash on mobile Live coding for Android Flex, Java and Real-time Resources 2 ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 3. Two superheros to save mobile applications developers © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
  • 4. Adobe Flex © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
  • 5. Adobe Flex basics Flash Builder IDE Browser Flex SDK Flash Player MXML ActionScript Flex Class Library SOAP HTTP/S AMF/S RTMP/S Web Server Compile XML/HTTP Adobe Data Services REST SOAP Web Services J2EE Application Server Existing Applications & Infrastructure © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 5
  • 6. FLEX FRAMEWORK 3 OLD COMPONENT MODEL Component / Skin Graphics Layout Animation Parts States Behavior Logic Data
  • 7. FLEX FRAMEWORK 4 SPARK COMPONENT MODEL ActionScript MXML Component Skin Graphics Behavior Layout Animation Logic CSS properties Parts Data States
  • 8. First-class interfaces ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 10. Open Screen Project Technologic partners Content providers © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 11. Native Applications Native Native Native Native Native Native App App App App App App iOS ? © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 12. Abstraction Layer Flex Application Adobe runtimes (Flash & AIR) iOS ? 2011 READY READY soon soon © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 13. Flex “Hero” © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 14. Mobile Applications in "Hero" s:Application s:MobileApplication s:TabbedMobileApplication © 2010 Adobe Systems Incorporated. All Rights Reserved. 14
  • 15. <s:MobileApplication> life cycle views.ListEmployees views.DetailsEmployee views.ListEmployees view destroyed view created view destroyed view created “BACK” bu on DATA subset DATA persisted in memory © 2010 Adobe Systems Incorporated. All Rights Reserved. 15
  • 16. ActionBar navigationContent titleContent actionContent <s:View xmlns:fx=http://ns.adobe.com/mxml/2009 … title=”Expenses"> <s:navigationContent> <s:Button icon="@Embed('assets/home.png')"/> </s:navigationContent> <s:actionContent> <s:Button label=”+"/> </s:actionContent> </s:View> © 2010 Adobe Systems Incorporated. All Rights Reserved. 16 3
  • 17. Components that have Mobile Skins § Button § CheckBox § DataGroup § Group/HGroup/VGroup/TileGroup § Image/BitmapImage § Label List § RadioButton/RadioButtonGroup § Scroller § TextArea § TextInput © 2010 Adobe Systems Incorporated. All Rights Reserved. 17
  • 18. Mobile applications + JAVA = REAL-TIME © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 18
  • 19. IN-CONTEXT COLLABORATION LiveCycle Collaboration Service Webcam Chat Shared Form
  • 20. LiveCycle Collaboration Service Multi-user collaboration in real time § Engage more effectively through a web presence enhanced with real-time collaboration tools. § Integrate text chat, whiteboard functionality, webcam video, and audio into any rich Internet application (RIA), Major Capabilities Peer-to-peer (P2P) streaming of data, audio and video HTTP server-to-server APIs Private audio/video streaming Server-side provisioning of services Large Rooms – via on-demand loading of user Audio/video application multicast presence Record and Playback Screen sharing JavaScript APIs – integration with a customer’s exist ting websites © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 20 All external content and images pending approvals.
  • 21. LiveCycle Data Services today Flex Client Flex Client Flex Client LCDS Java Classes Thing1.class Thing2.class Thing3.class © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21
  • 22. LiveCycle Data Services tomorrow (2011) HTML5/JS Client Java Client Flex Client Flex Client Flex Client Android Client ObjC Client .NET Adapter Remoting Messaging Data Mgmt IIS Plugin .NET Remoting LCDS .NET Adapter Messaging MSMQ Messaging NET Java Classes .NET C# Classes Thing1.class Thing1.dll ??.??? Thing2.class Thing2.dll ??.??? Thing3.class Thing3.dll ??.??? © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 22
  • 23. Publish/Subscribe Messaging LiveCycle DS / Blaze DS §Client A Message Endpoint Service §Client B §RTMP §Client C §AMF Publisher §HTTP Subscriber © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 24. Data Push - Messaging LiveCycle DS / Blaze DS Messaging Adapter X System X Message JMS Endpoint JMS Adapter Services Provider Messaging Adapter Y System Y §RTMP §AMF Publisher §HTTP Subscriber © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 25. Data Push - Messaging public static class GPSThread extends Thread { public boolean running = true; public void run() { MessageBroker msgBroker = MessageBroker.getMessageBroker(null); String clientID = UUIDUtils.createUUID(); while (running) { double change = gpsService.getCurrentPosition(); AsyncMessage msg = new AsyncMessage(); msg.setDestination("feed"); msg.setClientId(clientID); msg.setMessageId(UUIDUtils.createUUID()); msg.setTimestamp(System.currentTimeMillis()); msg.setBody(new Double(change)); msgBroker.routeMessageToService(msg, null); try { Thread.sleep(300); } catch (InterruptedException e) { } © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 26. Two superheros to save mobile applications developers ADOBE FLASH PLATFORM JAVA SUPER POWER Rich interfaces for your Expose your data using HTTP, web, desktop and mobile apps. SOAP, Remote AMF. Real-time collaboration. Real-time data push. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 26
  • 27. Michaël Chaize & resources RIAgora.com Flex.org labs.adobe.com developer.adobe.com @mchaize Tour de Mobile Flex © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 27
  • 28. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 29. Bar Chart Try to use neutral colors for most chart elements, and highlight elements of interest with bright colors 5.0 3.8 Series 1 2.5 Series 2 Series 3 1.3 0 Category 1 Category 2 Category 3 Category 4 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 29
  • 30. Pie Chart Try to use neutral colors for most chart elements, and highlight elements of interest with bright colors Sales 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 30
  • 31. Gray Content Area Layout For use with full-screen images or diagrams that look good on gray © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 31
  • 32. Mobile APIs © 2010 Adobe Systems Incorporated. All Rights Reserved. 32
  • 33. GEO APIs § Android Permission Required: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> § Geolocation.isSupported § g.addEventListener(GeolocationEvent.UPDATE, callbackFunction); § GeolocationEvent: § altitude § heading § horizontalAccuracy § latitude § longitude § speed § timestamp § verticalAccuracy © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 34. Accelerometer APIs § Accelerometer.isSupported § a.addEventListener(AccelerometerEvent.UPDATE, callbackFunction); § AccelerometerEvent: § accelerationX § accelerationY § accelerationZ § timestamp © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 35. Multi-Touch APIs § Android manifest change: <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/> § Gesture OR Multitouch --- Multitouch.inputMode MultitouchInputMode.GESTURE § MultitouchInputMode.TOUCH_POINT § TransformGestureEvent § TouchEvent § GESTURE_PAN § TOUCH_BEGIN § GESTURE_ROTATE § TOUCH_END § GESTURE_SWIPE § TOUCH_MOVE § GESTURE_ZOOM § TOUCH_OUT § GestureEvent.GESTURE_TWO_FINGER_TAP § TOUCH_OVER § PressAndTapGestureEvent.GESTURE_PRESS_AND_TAP § TOUCH_ROLL_OUT § § TOUCH_ROLL_OVER § TOUCH_TAP © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 36. Remote Data § Android Permission Required: <uses-permission android:name="android.permission.INTERNET"/> § Standard Flex Networking Libraries: § HTTPService § WebService § RemoteObject © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 37. Full Screen & Orientation § stage.displayState = StageDisplayState.NORMAL § stage.displayState = StageDisplayState.FULL_SCREEN § stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE § StageOrientationEvent: stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, callbackFunction); § foo-app.xml: <initialWindow> <autoOrients>true</autoOrients> © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 38. Camera Access § Camera - Raw camera feed <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="true"/> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> <uses-feature android:name="android.hardware.camera.flash" android:required="false"/> § CameraUI - Native Camera App var cameraUI:CameraUI = new CameraUI(); cameraUI.launch(MediaType.IMAGE); § CameraRoll - Choose photos from the device's camera roll var cameraRoll:CameraRoll = new CameraRoll(); cameraRoll.browseForImage(); cameraRoll.addBitmapData(bd); © 2010 Adobe Systems Incorporated. All Rights Reserved. 38
  • 39. Native App Integration § Open Email, Browser, Maps, Phone, or SMS § navigateToURL(new URLRequest('mailto:[email protected]')); § navigateToURL(new URLRequest('http://www.jamesward.com')); § navigateToURL(new URLRequest('http://maps.google.com/')); § navigateToURL(new URLRequest('tel:1234567890')); § navigateToURL(new URLRequest('sms:1234567890')); © 2010 Adobe Systems Incorporated. All Rights Reserved. 39
  • 40. Local DB APIs § SQLite - Nothing different than AIR for the Desktop § SQLConnection § Sync and/or Async connections § SQLStatement § Prepared Statements: var stmt:SQLStatement = new SQLStatement(); stmt.sqlConnection = FlexGlobals.topLevelApplication['sqlConnection']; stmt.text = "INSERT into giberish values(:giberish)"; stmt.parameters[":giberish"] = g.text; stmt.execute(); © 2010 Adobe Systems Incorporated. All Rights Reserved.
  • 41. StageWebView § Requires Android INTERNET permission: <uses-permission android:name="android.permission.INTERNET" /> § WebStageView.isSupported var swv:StageWebView = new StageWebView(); swv.viewPort = new Rectangle(0, stage.height - height, width, height); swv.stage = stage; swv.loadURL("http://www.riagora.com"); © 2010 Adobe Systems Incorporated. All Rights Reserved. 41
  • 42. Black Content Area Layout For use with full-screen images or diagrams that look good on black © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 42
  • 43. Color Palette Dynamic Note The Adobe corporate color palette has been incorporated into this presentation template. R - 255 R – 251 R - 255 R - 193 R-0 R - 131 G-0 G - 176 G - 221 G - 216 G - 164 G - 72 B-0 B - 52 B-0 B - 47 B - 228 B - 181 Refer to the Corporate Brand Guidelines, found on Brand Center for more guidance on using this color palette Neutral www.adobe.com/brandecenter R - 218 R - 172 R - 107 R - 228 R - 192 R - 136 G - 221 G - 179 G - 115 G - 223 G - 181 G - 120 B – 224 B - 185 B - 123 B - 217 B - 169 B - 104 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.