SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Accélérez et optimisez vos
                développements d'applications
                           mobiles

                             WsN Replay
                    Lyon - Jeudi 10 novembre 2011

          François Fornaciari - francois.fornaciari@zenika.com
                 Billy Thach – billy.thach@zenika.com
Zenika © 2011                                                    1
What’s Next 2011
  Présentation Flex Mobile

    Retour et décryptage de la présentation de Michaël Chaize

         Enjeux des applications RIA (Rich Internet Application)
         Présentation du framework Flex
         Développement d’une application Flex Mobile
         Plus quelques démos…




Zenika © 2011                                                       2
Adobe Flex
  Introduction

    Objectifs des applications RIA
     o Améliorer l’expérience utilisateur
     o Proposer du contenu riche et dynamique

    Framework produit par Adobe
     o Contient un ensemble de composants permettant de
        développer des applications RIA
     o Open-source et gratuit depuis 2007

    Propose 3 modes de déploiement
     o Web : navigateur + Flash Player
     o Desktop : runtime AIR (Adobe Integrated Runtime)
     o Mobile : runtime AIR

Zenika © 2011                                             3
Adobe Flex
  Composants




Zenika © 2011   4
Adobe Flex
  MXML vs ActionScript

   MXML
    o Syntaxe déclarative de création d’interface
                <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                               xmlns:s="library://ns.adobe.com/flex/spark"
                               xmlns:mx="library://ns.adobe.com/flex/mx">
                 <s:Panel>
                  <s:Label text="Label" />
                  <s:Button label="Button" />
                 </s:Panel>
                </s:Application>

   ActionScript
     o Syntaxe familière aux développeurs JAVA
                package com.zenika.flex {
                  public class MyClass interface MyInterface {
                    public function MyClass() {
                    }
                    public function doSomething():String {
                    }
                  }
                }

Zenika © 2011                                                                5
Adobe Flex
  Intégration serveur

    Communication via des WebServices
     o JAX-WS ou JAX-RS
     o Parseur XML natif

    Interrogation de services Java (RPC)
     o Frameworks dédiés (BlazeDS, GraniteDS, …)
     o Sérialisation des données (format AMF)
     o Intégration avec la plupart des frameworks côté serveur
        (Spring, EJB, Seam, …)

    Push de données
     o Synchronisation des données entre les différents clients
     o Envoie de notifications

Zenika © 2011                                                     6
Flex Mobile
  Introduction

    Extension du framework Flex pour le développement
     d’applications mobiles
     o Présent depuis la version 4.5 du SDK Flex
     o OS supportés : iOS, Android, BlackBerry

    Selon Adobe, plus de 50% du contenu Web sera accédé
     depuis un appareil mobile d’ici 2 ans

    Au travers de Flex, Adobe cible le développement
     d’applications multimodales pour les entreprises
     o Travail collaboratif et mobilité
     o Outils de développement avancés
     o Intégration continue

Zenika © 2011                                              7
Flex Mobile
  Objectifs

    Développer une application compatible avec la plupart des
     plateformes mobiles existantes
     o Evite de développer autant d’applications qu’il y a de
        plateformes cibles
     o Bénéficier d’un rendu graphique identique

    Capitaliser sur l’expérience acquise lors des
     développements Flex Web

    Fournir des composants optimisés pour le mobile
     o List, Button,TextArea,TextInput, ...
    Fournir des composants dédiés aux mobiles
     o ViewNavigatorApplication, SlideViewTransition,
       MultiDPIBitmapSource, ...
Zenika © 2011                                                    8
Flex Mobile
  Tour de Flex




Zenika © 2011    9
Démonstration
  Présentation

    Développement d'une application prototype utilisant la
     technologie Flex Mobile
     o Périmètre fonctionnel : recherche et rédaction de
        mémos rédigés lors de rencontres en clientèle

    Validation de la technologie Flex Mobile concernant la
     compatibilité de l'application avec différents formats de
     tablette et de téléphone mobile

    Évaluation de la maturité de la technologie Flex Mobile

    Coût d'un développeur Flex à s'approprier le framework
     Flex Mobile

Zenika © 2011                                                    10
Démonstration




Zenika © 2011     11
Flash Builder
  Introduction (1/2)

    Développé par Adobe
    Basé sur des plugins Eclipse
    Fonctionnalités principales
     o Auto complétion
     o Refactoring
     o Développement pour mobile
          Emulateur
          Déploiement sur le device branché en USB
     o Debugger et profiler
    Version pour Windows et Mac
    Licence payante
    Alternative pour Linux : IntelliJ IDEA


Zenika © 2011                                         12
Flash Builder
  Introduction (2/2)




Zenika © 2011          13
Flash Builder
  OS supportés

    Depuis la version 4.5.1 : Burrito
     o Google Android
     o Apple iOS
     o BlackBerryTablet OS




Zenika © 2011                            14
Flash Builder
  Différents types d'application

 ViewNavigatorApplication    TabbedViewNavigatorApplication




Zenika © 2011                                                 15
Flash Builder
  Support multi-résolutions

    Tous les appareils non pas la même densité




    Configuration du DPI
     o Redimensionnement efficace des images vectorielles et
       du texte en fonction de la résolution



    Utilisation de la classe MultiDPIBitmapSource pour insérer
     des images non vectorisées
Zenika © 2011                                                     16
Flash Builder
  Designer

    Il est possible d'utiliser le mode designer
     o Prise en charge des différents mobiles (résolutions)
     o Design en mode portrait au paysage
     o Editeur WYSIWIG




Zenika © 2011                                                 17
Flash Builder
  Déploiement Android (1/2)

 Mode développement
  1. Installer les drivers
  2. Connecter l'appareil
     Android via USB
  3. Exécuter depuis
     Flash Builder en
     spécifiant le device
     branché




Zenika © 2011                 18
Flash Builder
  Déploiement Android (2/2)

 Mode Release Build
  1. Exporter l'application
     finale
  2. Créer / obtenir un
     certificat
  3. Signer l'application




Zenika © 2011                 19
Flash Builder
  Déploiement iOS (1/2)

    Même procédure pour le mode développement et le
     Release Build
    Deux fichiers sont nécessaires pour déployer sur iOS
     o Génération d'un certificat iOS
         DeveloperIdentity.p12
         Obtenu, par conversion d’un certificat (.pem) avec
           OpenSSL en certificat iOS Developer avec iOS Dev
           Center
     o Utilisation d'un fichier de provision
         *.mobileprovision
         Contient les ID des devices iOS
         Fourni par le iOS Dev Center


Zenika © 2011                                                  20
Flash Builder
  Déploiement iOS (2/2)

   Signer l’application avec le certificat iOS et le fichier de
    provision et déploiement sur iTunes




Zenika © 2011                                                      21
Flash Builder
  Déploiement : comparatif



                                    iOS                 Android

          Développement   - Certificat : Oui      - Certificat : Non
                          - Durée : 10 secondes   - Durée : 6 secondes
                          - Taille : 6 Mo         - Taille : 2Mo


          Release         - Certificat : Oui      - Certificat : Oui
                          - Durée : 5 min         - Durée : 10 secondes
                          - Taille :10 Mo         - Taille : 1Mo




Zenika © 2011                                                             22
Développement
  SQLite

    Moteur de base de données fourni par le runtime AIR
    Permet aux applications de stocker des données localement
     o Gestion du mode déconnecté

    Mise en œuvre
     o Configuration du fichier dans lequel est persistée la base
        de données
         Généralement dans l’espace de stockage propre à
           l’application
     o Interrogation via des requêtes SQL
     o Support des transactions
     o Utilisation très proche du standard JDBC


Zenika © 2011                                                       23
Développement
  WebService

    Possibilité d’interroger des WebServices sans passer par un
     serveur intermédiaire
     o Utilisation des classes HttpService ou WebService
     o Conversion native du résultat au format XML en structure
        objet

    Flash Builder propose un outil de génération de code
     d’appel au WebService à partir du WSDL
     o Génère les classes permettant d’appeler les méthodes
        du WebService
     o Traitement du résultat asynchrone



Zenika © 2011                                                      24
Développement
  Configuration

    Un fichier XML de configuration est généré lors de la
     création d'un nouveau projet Flex Mobile
    Permet de modifier la configuration du projet
     o Nom et version de l’application
     o Mode Full screen
     o Icône application
     o Etc.

    Permet également d'ajouter de la configuration pour un OS
     en particulier
     o Ajouts de droit (internet, GPS, …)
     o Configuration spécifique


Zenika © 2011                                                    25
Flex Mobile
  Etat des lieux (1/2)

    Développements familiers si connaissance de Flex
    Gestion spécifique de la navigation : empilement des vues
     o Facile d’utilisation
     o Mécanisme interne de transmission de données entre les
        vues
    Possibilité d’utiliser les bibliothèques Flex 4.5
     o Attention : tous les composants graphiques Flex 4 ne
        sont pas optimisés pour le mobile
    Gestion du mode offline inhérente au développement
     mobile
    Prise en main
     o Prototypage et déploiement extrêmement rapide sur
        Android (exemple avec le Nexus S)
     o Simulateur de device très pratique
Zenika © 2011                                                26
Flex Mobile
  Etat des lieux (2/2)

    Composants standards non optimisés pour Flex Mobile
     o Form, Combobox, ...
     o A ne pas utiliser pour ne pas dégrader les performances
     o Composants très courants qui ne sont pas utilisables
        avec Flex Mobile
    Liste de composants supportés assez restreinte
     o Framework en pleine évolution
    Bonne compatibilité entre les différents devices testés
    Performances générales en dessous de nos espérances
     o Nécessité d’aborder la problématique d'optimisation
        durant les développements



Zenika © 2011                                                    27
Flex Mobile
  Adaptabilité de l'interface

    Prévoir une interface adaptable aux différentes variétés
     d’écran
     o Une interface pour tablette ne sera pas pensée de la
        même façon qu'une interface pour smartphone
    Utilisation des pourcentages
     o Pratique pour gérer toutes les résolutions
     o Moins adaptée pour la précision
    Difficile de trouver un compromis entre relatif et absolu
    Tester l'UI sur tous les émulateurs et les devices est souvent
     fastidieux mais indispensable !




Zenika © 2011                                                     28
Bibliothèque
  Eskimo

   Permet d’adapter les composants à la plateforme cible
   Fournit de nouveaux composants




Zenika © 2011                                               29
What’s Next ?
  Intégrations natives

    Parseur JSON
    Native Text Input UI
     o Personnalisation du clavier (email, number, …)
    Native Extensions
     o Intégration de fonctionnalités natives du téléphone
     o Ex : vibreur, lecteur de carte bleue, équipement
       médical, …




Zenika © 2011                                                30
What’s Next ?
  Captive Runtime et sécurité

    Captive Runtime Support pour Android
     o Même principe que pour le déploiement iOS
     o Déploiement simplifié : AIR n’est plus un pré-requis
     o Garantie sur la version AIR utilisée : tests simplifiés




    Encrypted Local Storage for Mobile
     o Sécurisation des données utilisateur sur le mobile
    Et bien d’autres …
Zenika © 2011                                                    31
What’s Next ?
  Flex 4.6 (1/2)

    Ajout de nouveaux composants mobiles optimisés
     o Meilleures performances : 50 % de gain annoncé
     o Meilleure compatibilité avec les dernières
        plateformes Android et iOS

    Flash Builder 4.6
     o Intégration des extensions natives
     o Captive Runtime

    Pre-release program




Zenika © 2011                                           32
What’s Next ?
  Flex 4.6 (2/2)




Zenika © 2011      33
Flex et HTML 5


    Adobe investit à la fois sur les technologies Flex et
     HTML 5

    Flex Mobile au travers du runtime AIR et du framework
     Flex
     o Sortie prévue tous les 3 mois d’une nouvelle version
        de AIR
     o Synchronisation des nouvelles versions de Flex avec
        AIR (pas nécessairement avec la même fréquence)
     o Nouveau compilateur nommé « Falcon »

    HTML 5 au travers d’outils de génération de contenu
     o Produit Adobe Edge

Zenika © 2011                                                 34
Ressources


    Présentation de Michaël Chaize à la What’s Next 2011
     http://www.whatsnextparis.com/agenda.html

    Flex
     http://flex.org/

    Tour de Flex
     http://www.adobe.com/devnet/flex/tourdeflex.html

    Tour de Mobile Flex (application Android)
     http://flex.org/tour-de-mobile-flex/



Zenika © 2011                                               35
Zenika © 2011   36

Mais conteúdo relacionado

Mais procurados

Adobe LiveCycle Data Services
Adobe LiveCycle Data ServicesAdobe LiveCycle Data Services
Adobe LiveCycle Data ServicesMichael Chaize
 
La Technologie WRT Pour Widgets Mobiles Nokia
La Technologie WRT Pour Widgets Mobiles NokiaLa Technologie WRT Pour Widgets Mobiles Nokia
La Technologie WRT Pour Widgets Mobiles NokiaThomas
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Microsoft Technet France
 
Mutualisation des développements avec VS2012
Mutualisation des développements avec VS2012Mutualisation des développements avec VS2012
Mutualisation des développements avec VS2012Cellenza
 
Presentation Android
Presentation AndroidPresentation Android
Presentation AndroidJean Collas
 
memoire sur la technologie de RIA
memoire sur la technologie de RIAmemoire sur la technologie de RIA
memoire sur la technologie de RIAifis
 
Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012Microsoft
 

Mais procurados (16)

Adobe LiveCycle Data Services
Adobe LiveCycle Data ServicesAdobe LiveCycle Data Services
Adobe LiveCycle Data Services
 
La Technologie WRT Pour Widgets Mobiles Nokia
La Technologie WRT Pour Widgets Mobiles NokiaLa Technologie WRT Pour Widgets Mobiles Nokia
La Technologie WRT Pour Widgets Mobiles Nokia
 
Formation adobeflex
Formation adobeflexFormation adobeflex
Formation adobeflex
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012
 
Websphere
WebsphereWebsphere
Websphere
 
Wasxposefinal
WasxposefinalWasxposefinal
Wasxposefinal
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Mutualisation des développements avec VS2012
Mutualisation des développements avec VS2012Mutualisation des développements avec VS2012
Mutualisation des développements avec VS2012
 
Flex mobile
Flex mobileFlex mobile
Flex mobile
 
Presentation Android
Presentation AndroidPresentation Android
Presentation Android
 
Flex Php E Seminar Fr
Flex Php E Seminar FrFlex Php E Seminar Fr
Flex Php E Seminar Fr
 
Android
AndroidAndroid
Android
 
memoire sur la technologie de RIA
memoire sur la technologie de RIAmemoire sur la technologie de RIA
memoire sur la technologie de RIA
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012Améliorer votre productivité avec Visual Studio 2012
Améliorer votre productivité avec Visual Studio 2012
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 

Destaque

WeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLANWeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLANFabian Vandendyck
 
Ozias Leduc Peintre du Québec
Ozias Leduc Peintre du QuébecOzias Leduc Peintre du Québec
Ozias Leduc Peintre du QuébecUngava Louise
 
Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?Davide Carboni
 
The world is the computer and the programmer is you
The world is the computer and the programmer is youThe world is the computer and the programmer is you
The world is the computer and the programmer is youDavide Carboni
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariZenika
 
Flex For Java Developers - SDForum Java SIG
Flex For Java Developers - SDForum Java SIGFlex For Java Developers - SDForum Java SIG
Flex For Java Developers - SDForum Java SIGChris Richardson
 

Destaque (8)

WeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLANWeOS création de réseaux et de réseaux virtuels VLAN
WeOS création de réseaux et de réseaux virtuels VLAN
 
Ozias Leduc Peintre du Québec
Ozias Leduc Peintre du QuébecOzias Leduc Peintre du Québec
Ozias Leduc Peintre du Québec
 
2 phase-commit
 2 phase-commit 2 phase-commit
2 phase-commit
 
Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?
 
The world is the computer and the programmer is you
The world is the computer and the programmer is youThe world is the computer and the programmer is you
The world is the computer and the programmer is you
 
04 bloom
04 bloom04 bloom
04 bloom
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. Fornaciari
 
Flex For Java Developers - SDForum Java SIG
Flex For Java Developers - SDForum Java SIGFlex For Java Developers - SDForum Java SIG
Flex For Java Developers - SDForum Java SIG
 

Semelhante a Présentation Flex Mobile

Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileMohamed BOURAOUI
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipseESPRIT
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksJean-Sébastien Dupuy
 
Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Jean-Sébastien Dupuy
 
Le développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaLe développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaSébastien Ollivier
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightChristophe Lauer
 
Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...Microsoft Décideurs IT
 
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...Microsoft Technet France
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfSami Asmar
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobileHaifa Chorfi
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierDamien Laureaux
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)TECOS
 
Flex et PHP pour développer des applications mobiles
Flex et PHP pour développer des applications mobilesFlex et PHP pour développer des applications mobiles
Flex et PHP pour développer des applications mobilesMichael Chaize
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidBosco Basabana
 

Semelhante a Présentation Flex Mobile (20)

Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobile
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
 
Silverlight
SilverlightSilverlight
Silverlight
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
 
Présentation Silverlight
Présentation SilverlightPrésentation Silverlight
Présentation Silverlight
 
Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8
 
Le développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordovaLe développement mobile multiplateforme avec cordova
Le développement mobile multiplateforme avec cordova
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et Silverlight
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...
 
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
Scénarios de déploiement d’applications multiplateformes avec Citrix/Microsof...
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdf
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
titre
titretitre
titre
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
Flex et PHP pour développer des applications mobiles
Flex et PHP pour développer des applications mobilesFlex et PHP pour développer des applications mobiles
Flex et PHP pour développer des applications mobiles
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
 

Présentation Flex Mobile

  • 1. Accélérez et optimisez vos développements d'applications mobiles WsN Replay Lyon - Jeudi 10 novembre 2011 François Fornaciari - francois.fornaciari@zenika.com Billy Thach – billy.thach@zenika.com Zenika © 2011 1
  • 2. What’s Next 2011 Présentation Flex Mobile  Retour et décryptage de la présentation de Michaël Chaize  Enjeux des applications RIA (Rich Internet Application)  Présentation du framework Flex  Développement d’une application Flex Mobile  Plus quelques démos… Zenika © 2011 2
  • 3. Adobe Flex Introduction  Objectifs des applications RIA o Améliorer l’expérience utilisateur o Proposer du contenu riche et dynamique  Framework produit par Adobe o Contient un ensemble de composants permettant de développer des applications RIA o Open-source et gratuit depuis 2007  Propose 3 modes de déploiement o Web : navigateur + Flash Player o Desktop : runtime AIR (Adobe Integrated Runtime) o Mobile : runtime AIR Zenika © 2011 3
  • 4. Adobe Flex Composants Zenika © 2011 4
  • 5. Adobe Flex MXML vs ActionScript  MXML o Syntaxe déclarative de création d’interface <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <s:Panel> <s:Label text="Label" /> <s:Button label="Button" /> </s:Panel> </s:Application>  ActionScript o Syntaxe familière aux développeurs JAVA package com.zenika.flex { public class MyClass interface MyInterface { public function MyClass() { } public function doSomething():String { } } } Zenika © 2011 5
  • 6. Adobe Flex Intégration serveur  Communication via des WebServices o JAX-WS ou JAX-RS o Parseur XML natif  Interrogation de services Java (RPC) o Frameworks dédiés (BlazeDS, GraniteDS, …) o Sérialisation des données (format AMF) o Intégration avec la plupart des frameworks côté serveur (Spring, EJB, Seam, …)  Push de données o Synchronisation des données entre les différents clients o Envoie de notifications Zenika © 2011 6
  • 7. Flex Mobile Introduction  Extension du framework Flex pour le développement d’applications mobiles o Présent depuis la version 4.5 du SDK Flex o OS supportés : iOS, Android, BlackBerry  Selon Adobe, plus de 50% du contenu Web sera accédé depuis un appareil mobile d’ici 2 ans  Au travers de Flex, Adobe cible le développement d’applications multimodales pour les entreprises o Travail collaboratif et mobilité o Outils de développement avancés o Intégration continue Zenika © 2011 7
  • 8. Flex Mobile Objectifs  Développer une application compatible avec la plupart des plateformes mobiles existantes o Evite de développer autant d’applications qu’il y a de plateformes cibles o Bénéficier d’un rendu graphique identique  Capitaliser sur l’expérience acquise lors des développements Flex Web  Fournir des composants optimisés pour le mobile o List, Button,TextArea,TextInput, ...  Fournir des composants dédiés aux mobiles o ViewNavigatorApplication, SlideViewTransition, MultiDPIBitmapSource, ... Zenika © 2011 8
  • 9. Flex Mobile Tour de Flex Zenika © 2011 9
  • 10. Démonstration Présentation  Développement d'une application prototype utilisant la technologie Flex Mobile o Périmètre fonctionnel : recherche et rédaction de mémos rédigés lors de rencontres en clientèle  Validation de la technologie Flex Mobile concernant la compatibilité de l'application avec différents formats de tablette et de téléphone mobile  Évaluation de la maturité de la technologie Flex Mobile  Coût d'un développeur Flex à s'approprier le framework Flex Mobile Zenika © 2011 10
  • 12. Flash Builder Introduction (1/2)  Développé par Adobe  Basé sur des plugins Eclipse  Fonctionnalités principales o Auto complétion o Refactoring o Développement pour mobile  Emulateur  Déploiement sur le device branché en USB o Debugger et profiler  Version pour Windows et Mac  Licence payante  Alternative pour Linux : IntelliJ IDEA Zenika © 2011 12
  • 13. Flash Builder Introduction (2/2) Zenika © 2011 13
  • 14. Flash Builder OS supportés  Depuis la version 4.5.1 : Burrito o Google Android o Apple iOS o BlackBerryTablet OS Zenika © 2011 14
  • 15. Flash Builder Différents types d'application ViewNavigatorApplication TabbedViewNavigatorApplication Zenika © 2011 15
  • 16. Flash Builder Support multi-résolutions  Tous les appareils non pas la même densité  Configuration du DPI o Redimensionnement efficace des images vectorielles et du texte en fonction de la résolution  Utilisation de la classe MultiDPIBitmapSource pour insérer des images non vectorisées Zenika © 2011 16
  • 17. Flash Builder Designer  Il est possible d'utiliser le mode designer o Prise en charge des différents mobiles (résolutions) o Design en mode portrait au paysage o Editeur WYSIWIG Zenika © 2011 17
  • 18. Flash Builder Déploiement Android (1/2) Mode développement 1. Installer les drivers 2. Connecter l'appareil Android via USB 3. Exécuter depuis Flash Builder en spécifiant le device branché Zenika © 2011 18
  • 19. Flash Builder Déploiement Android (2/2) Mode Release Build 1. Exporter l'application finale 2. Créer / obtenir un certificat 3. Signer l'application Zenika © 2011 19
  • 20. Flash Builder Déploiement iOS (1/2)  Même procédure pour le mode développement et le Release Build  Deux fichiers sont nécessaires pour déployer sur iOS o Génération d'un certificat iOS  DeveloperIdentity.p12  Obtenu, par conversion d’un certificat (.pem) avec OpenSSL en certificat iOS Developer avec iOS Dev Center o Utilisation d'un fichier de provision  *.mobileprovision  Contient les ID des devices iOS  Fourni par le iOS Dev Center Zenika © 2011 20
  • 21. Flash Builder Déploiement iOS (2/2)  Signer l’application avec le certificat iOS et le fichier de provision et déploiement sur iTunes Zenika © 2011 21
  • 22. Flash Builder Déploiement : comparatif iOS Android Développement - Certificat : Oui - Certificat : Non - Durée : 10 secondes - Durée : 6 secondes - Taille : 6 Mo - Taille : 2Mo Release - Certificat : Oui - Certificat : Oui - Durée : 5 min - Durée : 10 secondes - Taille :10 Mo - Taille : 1Mo Zenika © 2011 22
  • 23. Développement SQLite  Moteur de base de données fourni par le runtime AIR  Permet aux applications de stocker des données localement o Gestion du mode déconnecté  Mise en œuvre o Configuration du fichier dans lequel est persistée la base de données  Généralement dans l’espace de stockage propre à l’application o Interrogation via des requêtes SQL o Support des transactions o Utilisation très proche du standard JDBC Zenika © 2011 23
  • 24. Développement WebService  Possibilité d’interroger des WebServices sans passer par un serveur intermédiaire o Utilisation des classes HttpService ou WebService o Conversion native du résultat au format XML en structure objet  Flash Builder propose un outil de génération de code d’appel au WebService à partir du WSDL o Génère les classes permettant d’appeler les méthodes du WebService o Traitement du résultat asynchrone Zenika © 2011 24
  • 25. Développement Configuration  Un fichier XML de configuration est généré lors de la création d'un nouveau projet Flex Mobile  Permet de modifier la configuration du projet o Nom et version de l’application o Mode Full screen o Icône application o Etc.  Permet également d'ajouter de la configuration pour un OS en particulier o Ajouts de droit (internet, GPS, …) o Configuration spécifique Zenika © 2011 25
  • 26. Flex Mobile Etat des lieux (1/2)  Développements familiers si connaissance de Flex  Gestion spécifique de la navigation : empilement des vues o Facile d’utilisation o Mécanisme interne de transmission de données entre les vues  Possibilité d’utiliser les bibliothèques Flex 4.5 o Attention : tous les composants graphiques Flex 4 ne sont pas optimisés pour le mobile  Gestion du mode offline inhérente au développement mobile  Prise en main o Prototypage et déploiement extrêmement rapide sur Android (exemple avec le Nexus S) o Simulateur de device très pratique Zenika © 2011 26
  • 27. Flex Mobile Etat des lieux (2/2)  Composants standards non optimisés pour Flex Mobile o Form, Combobox, ... o A ne pas utiliser pour ne pas dégrader les performances o Composants très courants qui ne sont pas utilisables avec Flex Mobile  Liste de composants supportés assez restreinte o Framework en pleine évolution  Bonne compatibilité entre les différents devices testés  Performances générales en dessous de nos espérances o Nécessité d’aborder la problématique d'optimisation durant les développements Zenika © 2011 27
  • 28. Flex Mobile Adaptabilité de l'interface  Prévoir une interface adaptable aux différentes variétés d’écran o Une interface pour tablette ne sera pas pensée de la même façon qu'une interface pour smartphone  Utilisation des pourcentages o Pratique pour gérer toutes les résolutions o Moins adaptée pour la précision  Difficile de trouver un compromis entre relatif et absolu  Tester l'UI sur tous les émulateurs et les devices est souvent fastidieux mais indispensable ! Zenika © 2011 28
  • 29. Bibliothèque Eskimo  Permet d’adapter les composants à la plateforme cible  Fournit de nouveaux composants Zenika © 2011 29
  • 30. What’s Next ? Intégrations natives  Parseur JSON  Native Text Input UI o Personnalisation du clavier (email, number, …)  Native Extensions o Intégration de fonctionnalités natives du téléphone o Ex : vibreur, lecteur de carte bleue, équipement médical, … Zenika © 2011 30
  • 31. What’s Next ? Captive Runtime et sécurité  Captive Runtime Support pour Android o Même principe que pour le déploiement iOS o Déploiement simplifié : AIR n’est plus un pré-requis o Garantie sur la version AIR utilisée : tests simplifiés  Encrypted Local Storage for Mobile o Sécurisation des données utilisateur sur le mobile  Et bien d’autres … Zenika © 2011 31
  • 32. What’s Next ? Flex 4.6 (1/2)  Ajout de nouveaux composants mobiles optimisés o Meilleures performances : 50 % de gain annoncé o Meilleure compatibilité avec les dernières plateformes Android et iOS  Flash Builder 4.6 o Intégration des extensions natives o Captive Runtime  Pre-release program Zenika © 2011 32
  • 33. What’s Next ? Flex 4.6 (2/2) Zenika © 2011 33
  • 34. Flex et HTML 5  Adobe investit à la fois sur les technologies Flex et HTML 5  Flex Mobile au travers du runtime AIR et du framework Flex o Sortie prévue tous les 3 mois d’une nouvelle version de AIR o Synchronisation des nouvelles versions de Flex avec AIR (pas nécessairement avec la même fréquence) o Nouveau compilateur nommé « Falcon »  HTML 5 au travers d’outils de génération de contenu o Produit Adobe Edge Zenika © 2011 34
  • 35. Ressources  Présentation de Michaël Chaize à la What’s Next 2011 http://www.whatsnextparis.com/agenda.html  Flex http://flex.org/  Tour de Flex http://www.adobe.com/devnet/flex/tourdeflex.html  Tour de Mobile Flex (application Android) http://flex.org/tour-de-mobile-flex/ Zenika © 2011 35