xebia adobe flash mobile applications

65
©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Adobe Flash Platform: update for XEBIA Michaël Chaize | EMEA Platform Evangelist

Upload: michael-chaize

Post on 20-May-2015

1.560 views

Category:

Technology


3 download

DESCRIPTION

Présentation donnée chez Xebia au sujet du développement d'applications mobiles avec l'Adobe Flash Platform, AIR 2.5, Flex Hero...

TRANSCRIPT

Page 1: Xebia adobe flash mobile applications

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

Adobe Flash Platform: update for XEBIAMichaël Chaize | EMEA Platform Evangelist

Page 2: Xebia adobe flash mobile applications

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

Michaël Chaize

2

@mchaize

RIAgora.com

Page 3: Xebia adobe flash mobile applications

Qui êtes-vous ?

Page 4: Xebia adobe flash mobile applications

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

Flash Platform - A complete system for web innovation

Page 5: Xebia adobe flash mobile applications

Rich Internet Applications ?

Page 6: Xebia adobe flash mobile applications

®

Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 6

Rich User Experiences: Opportunities for internal users

Page 7: Xebia adobe flash mobile applications

®

Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 7

Rich User Experiences: Opportunities for internal users

5 mins 20 secs

Increase productivity & improve decision making

Page 8: Xebia adobe flash mobile applications

®

Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 8

NATO

Page 9: Xebia adobe flash mobile applications

®

Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 9

NATO

Page 10: Xebia adobe flash mobile applications

®

Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 10

NATO

From a system-centric view to a user-centric application.

Page 11: Xebia adobe flash mobile applications

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

First-class interfaces

Page 12: Xebia adobe flash mobile applications

FLASH PLAYER 10.1

Page 13: Xebia adobe flash mobile applications

Consumer Electronics

Personal Computers

Mobile Phones

Page 14: Xebia adobe flash mobile applications

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

Partenaires technologiques

Open Screen Project

Diffuseurs de contenu

Page 15: Xebia adobe flash mobile applications

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

Flash Player 10.1

Flash Player 10.1

Google TV

Page 16: Xebia adobe flash mobile applications

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

■ Brings full Flash Player feature set to devices

■ New Features:

■ Multi-touch & gestures

■ Accelerometer

■ Screen orientation

■ Mobile text input

■ Device capabilities discovery

■ Globalization support (GSLib)

■ Mobile settings manager

■ Global error handling

Flash Player 10.1

Page 17: Xebia adobe flash mobile applications

ADOBE AIR 2.0

Page 18: Xebia adobe flash mobile applications

ADOBE AIR 2.0

Flash Player 10.1+ WebKit+ SQLite+ Desktop APIs---------------------= Adobe AIR

Page 19: Xebia adobe flash mobile applications

ADOBE AIR 2.0

Xplatform runtimeDrag & Drop files / DesktopLocal system accessMultiple windowsTransparent applicationsNative Process, UDP, USB...

Page 20: Xebia adobe flash mobile applications

DETECT AND BROWSE

USB STORAGE

Page 21: Xebia adobe flash mobile applications

UDP Network Protocols

PEER 2 PEER

Page 22: Xebia adobe flash mobile applications

Documents and Processes

OS INTEGRATION

Page 23: Xebia adobe flash mobile applications

ADOBE FLEX 4

Page 24: Xebia adobe flash mobile applications

Basics

Flash Builder IDE

Flex SDK

Flex Class Library

MXML ActionScript

Compile

SOAP HTTP/S AMF/S RTMP/S

Web Server

Existing Applications & Infrastructure

J2EE Application Server

LC Data ServicesXML/HTTP

REST

SOAP Web Services

Browser

Flash Player

Page 25: Xebia adobe flash mobile applications

OLD COMPONENT MODEL

FLEX FRAMEWORK 3

GraphicsLayoutAnimationPartsStatesBehaviorLogicData

Component / Skin

Page 26: Xebia adobe flash mobile applications

SPARK COMPONENT MODEL

FLEX FRAMEWORK 4

ActionScript MXML

GraphicsLayout

AnimationParts

States

Component Skin

CSS properties

BehaviorLogicData

Page 27: Xebia adobe flash mobile applications

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

Mobile applications with the Flash Platform

Page 28: Xebia adobe flash mobile applications

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

Flash Player 10.1

Flash Player 10.1

Google TV

Page 29: Xebia adobe flash mobile applications

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

Adobe AIR 2.5 = native applications = multiple screens

Page 30: Xebia adobe flash mobile applications

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

§ Flash Player 10.1 + SQLite

§ New APIs:

§ Multi-touch & gestures

§ Geolocation

§ cut/copy/paste

§ tel:, mailto:, maps:, video:

§ Camera

§ Microphone

§ StageWebView

§ Device Debugger

§ cacheAsBitmapMatrix

AIR 2.5 on smartphones, tablets, TV...

Page 31: Xebia adobe flash mobile applications

ADOBE FLEX “HERO”

Page 32: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved.

Mobile Applications in "Hero"

32

s:TabbedMobileApplication s:MobileApplications:Application

Page 33: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved. 1

MobileApplication and TabbedMobileApplication

§ View stack metaphor

§ View

§ ViewNavigator / TabbedViewNavigator

§ Built-in mobile navigation experience

§ Action bar

§ Back button

§ Transitions

§ APIs

33

Page 34: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved.

ViewNavigator API

§ navigator.pushView();

§ navigator.popView();

§ navigator.popToFirstView()

§ navigator.activeView;

34 2

Page 35: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved.

ActionBar

<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>

35 3

navigationContent titleContent actionContent

Page 36: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved.

Components that have Mobile Skins

§ Button

§ CheckBox

§ DataGroup

§ Group/HGroup/VGroup/TileGroup

§ Image/BitmapImage

§ Label List

§ RadioButton/RadioButtonGroup

§ Scroller

§ TextArea

§ TextInput

36

Page 37: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved.

View Lifecycle

§ Alternative option: destructionPolicy=“none”

37

View becomes active

ViewCreated

Another view becomes active

View DestroyedUser navigates back to view

View Recreated

data

3B

Page 38: Xebia adobe flash mobile applications

© 2010 Adobe Systems Incorporated. All Rights Reserved.

Mobile ItemRenderers

§ MobileItemRenderer

§ MobileIconItemRenderer

<s:MobileIconItemRenderer

labelField="lastName"

messageField="title"

iconField="picture"

decoratorClass=”phoneIcon">

38 4

Page 39: Xebia adobe flash mobile applications

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

FLEX ON MOBILE DEVICES

ADOBE FLEX “HERO” WITH

FLASH BUILDER “BURRITO”

Page 40: Xebia adobe flash mobile applications

&

Page 41: Xebia adobe flash mobile applications

2008 Adobe Systems Incorporated. All Rights Reserved.

Flex/JSP architecture

UI LAYER

SERVERPRESENTATION/SERVICES/DAOLAYER

DATABASE/STORAGE LAYER

listEvents.jsp

Java servlet container (tomcat, WAS…)

JDBC

Web browser

JAVA classes/services

Webapp (WAR)

EventService.java public getEvents()

WSDL

XML on HTTP(s)

Page 42: Xebia adobe flash mobile applications

AMFPublished in December 2007

XML5000 rows ?1.1Mo 29Ko

Page 43: Xebia adobe flash mobile applications

ADOBE FLEX 4

Remoting AMF

Page 44: Xebia adobe flash mobile applications

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

LiveCycle Data Services ES

LiveCycle Data Services is a set of Java EE components and APIs used to:

Create data-intensive RIAs with less code, less risk, and accelerated time to market due to an innovative client-server programming model

Integrate RIAs with existing applications, back-end data, and JEE infrastructure

Easily integrate RIAs with LiveCycle document and process services

Enable collaboration, offline AIR and real-time data streaming applications to be built in a scalable and reliable manner with robust publish and subscribe messaging

Generate PDF documents from RIAs that include graphical assets

LiveCycle Data Services ES

Data Management

RPC Services

Messaging

ServiceAdapters

Data Synchronization

Off-line Applications

Data Paging

Web Service

HTTP Service

Remote Object Service

Publish & Subscribe

Collaboration

Real Time Data Push

Proxy Service

Web-tier Compiler

Portal Deployment

RIA-PDF Generation

LiveCycle

ColdFusion

Hibernate

SQL

JMS

Java

Custom…

Page 45: Xebia adobe flash mobile applications

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

Blaze DS

BlazeDS is a set of Java EE components and APIs, and a subset of LiveCycle Data Services:

- Free and open source.

- High performance data transfer for more responsive applications using AMF

- Real-time server push over standard HTTP

- Full pub/sub messaging that extends existing messaging infrastructure

LiveCycle Data Services ES

Data Management

RPC Services

Messaging

ServiceAdapters

Data Synchronization

Off-line Applications

Data Paging

Web Service

HTTP Service

Remote Object Service

Publish & Subscribe

Collaboration

Real Time Data Push

Proxy Service

Web-tier Compiler

Portal Deployment

RIA-PDF Generation

LiveCycle

ColdFusion

Hibernate

SQL

JMS

Java

Custom…

Page 46: Xebia adobe flash mobile applications

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

LCDS.war

§ Structure of the WAR file:

§ +WEB-INF/classes To place your Java classes

§ +WEB-INF/lib Hosts the JAVA libraries of LCDS

§ +WEB-INF/�ex Hosts the XML con�guration �les§ Remoting-con�g.xml Destinations to Java classes for remoting

§ Messaging-con�g.xml Destinations for messaging

§ Data-Management-con�g.xml Destinations to Java assemblers

§ Proxy-con�g.xml Destinations to HTTP services

§ Services-con�g.xml Channels con�gurations

A file named « LCDS.war » is provided to start your Flex/Java projects.

Page 47: Xebia adobe flash mobile applications

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

Java and ActionScript value objects

Java VO ActionScript VO

Page 48: Xebia adobe flash mobile applications

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

Java and ActionScript types

STRING STRING

BOOLEAN BOOLEAN

INT, SHORT, BYTE INT

DOUBLE, FLOAT, LONG NUMBER

CALENDAR, DATE DATE

OBJECT OBJECT

COLLECTION ARRAYCOLLECTION

OBJECT[] ARRAY

ORG.W3C.DOCUMENT XML OBJECT

NULL NULL

Page 49: Xebia adobe flash mobile applications

2008 Adobe Systems Incorporated. All Rights Reserved.

Flex/Java classic architecture

UI LAYER

SERVERPRESENTATION/SERVICES/DAOLAYER

DATABASE/STORAGE LAYER

LiveCycle Data Services

Java servlet container (tomcat, WAS…)

JDBC

Web browser

JAVA classes/services

Webapp (WAR)

RPC services Messaging Data Mgt

WSDL

AMF over HTTPs

JAVA <-> AMF

EventService.java public getEvents()

Page 50: Xebia adobe flash mobile applications

ADOBE FLEX 4

Spring BlazeDS Integration

Page 51: Xebia adobe flash mobile applications

ADOBE FLEX 4

Messaging

Page 52: Xebia adobe flash mobile applications

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

Channels

Flex client

Servlet-based endpoints

AMF Endpoint

HTTPEndpoint

StreamingAMFEndpoint

NIO-based endpoints

NIOAMFEndpoint

NIOHTTPEndpoint

RTMPEndpoint

MessageBrokerServlet

Socket Server (LCDS only)

MessageBroker

Remoting

HTTPProxy

Message

Data Management

Page 53: Xebia adobe flash mobile applications

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

Publish/Subscribe Messaging

Message

Service

LiveCycle DS / Blaze DS

Endpoint

PublisherSubscriber

§RTMP

§AMF

§HTTP

§Client A

§Client B

§Client C

Page 54: Xebia adobe flash mobile applications

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

Data Push - Messaging

Message

Services

LiveCycle DS / Blaze DS

Adapter Y

Adapter X

Messaging

System Y

Messaging

System X

EndpointJMS

ProviderJMS Adapter

PublisherSubscriber

§RTMP

§AMF

§HTTP

Page 55: Xebia adobe flash mobile applications

ADOBE FLEX 4

Data ManagementServices

Page 56: Xebia adobe flash mobile applications

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

Data Management Services

LiveCycle Data Services

DataService

DAOObjectAdapter

HibernateAdapter

JDBCAdapter

Hibernate

RDBMS

CFCAdapter ColdFusion

Endpoint

Client A

Client B

Client C

Page 57: Xebia adobe flash mobile applications

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

Data Management Benefits

1. Automatic Client to Middle-Tier Synchronization

§ Change Tracking

§ Automatic invocation of remote services

2. Highlander Principle: there is only one instance of a given entity in memory at any given time

3. Conflict resolution

4. Offline Synchronization (thanks to Adobe AIR)

5. Lazy loading

6. Paging

7. Cross-client synchronization

Page 58: Xebia adobe flash mobile applications

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

Today’s LiveCycle Data Services

58

Flex Client Flex Client Flex Client

LCDS

Java Classes

Thing1.classThing2.classThing3.class

Page 59: Xebia adobe flash mobile applications

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

Tomorrow’s LiveCycle Data Services

59

LCDS

NET

??.?????.?????.???

Java Classes

Thing1.classThing2.classThing3.class

.NET C# Classes

Thing1.dllThing2.dllThing3.dll

IIS Plugin.NET RemotingMessagingMSMQ Messaging

.NET AdapterRemotingMessagingData Mgmt

.NET

Ada

pter

Flex Client Flex Client Flex ClientJava Client Android ClientHTML5/JS Client ObjC Client

Page 60: Xebia adobe flash mobile applications

LCDS NEXT

LiveCycle Data Services

Devices & Clients <HTML>JavaScript / AJAXiOS

preview in January 2011

Page 61: Xebia adobe flash mobile applications

LiveCycle Collaboration Service

IN-CONTEXT COLLABORATION

Page 62: Xebia adobe flash mobile applications

2010 Adobe Systems Incorporated. All Rights Reserved. 62

LCCS SDK Offers Both High-Level Components and Foundation Classes

High-level Components

Foundation Classes

Pods

RTC UI Components

Shared Managers Shared Model

Session(Connection, Authentication, Reconnect/Failover, RMI Routing)

Audio Pub / SubWebcam Pub / Sub File Pub / Sub Shared Cursors

Users AV Streams

Files RoomPub / Sub Messaging + Permissions

Shared Collection Baton

Shared Property UserQueue

Roster WhiteBoard Chat FileShare Note WebCam

Page 63: Xebia adobe flash mobile applications

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

Server Integration

§ Create and Delete Rooms

§ Manage your Users’ Authentication

§ Publish and Subscribe to Messages

§ Variety of different Languages

Java PHP ColdFusion

Ruby C#Python Groovy

Page 64: Xebia adobe flash mobile applications

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

LIVE COLLABORATION

LCCS

Page 65: Xebia adobe flash mobile applications

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

Flash Platform - A complete system for web innovation