Actionscript: du web au mobile

        Par: Martin Arvisais
            HolonetStudio.com
Avertissement

• Mes opinions sont les miennes.
• Ils peuvent refléter ou non les opinions des
  compagnies pour lesquels je travail avec.



• Je vous souhaite une bonne présentation!
Qui suis-je

• Votre présentateur pour cette session.
• Je me présente Martin Arvisais:
  – Entrepreneur / Développeur / Formateur
  – Conférencier
  – Tripeux de Techno!
Qui suis-je

• Entrepreneur: Holonet Studio
  – Développement Web / Mobile / Social
  – Spécialisé en développement Actionscript
  – B2B / R&D
  – Jeux / Application
Qui suis-je

• Développeur
  – Sur le WWW depuis plus de 15 ans
  – Actionscripteur depuis plus de 12 ans
  – Flexeur depuis plus de 8 ans
Qui suis-je

• Formateur
  – Plus de 2800 heures de formation
  – Cégep, Entreprise, Particulier
  – Flash, AS2 et AS3, Flex, FMS,…
Assez parlé de moi!

• Qui êtes vous? À qui je parle?
  – Des développeurs ? Des Designers?
  – Qui a déjà ouvert Flash?
  – Qui a déjà ouvert Flex?
  – Qui fait du mobile?
Agenda

• Ce qui sera vu
  – Actionscript et AIR pour Mobile
  – Écosystème Mobile
  – Développement
Actionscript / AIR


Un code pour les développer tous.
AS3

• Wikipedia:
   – ActionScript est un langage de script, orienté objet et prototype,
     basé sur ECMAScript (conforme à 100% avec la norme ECMA-
     262, révision 3, depuis ActionScript 3.0). ECMAScript étant une
     version standardisée de JavaScript, ActionScript et JavaScript
     partagent une syntaxe semblable.

      http://fr.wikipedia.org/wiki/Actionscript


• La version courante est la version 3 (juin 2006).
Actionscript et Mobile

     « Moi je sais que l’Actionscript
             c’est pour Flash,
et Flash il n’y a pas ça sur mon Iphone!
      Donc, c’est impossible!!!!!! »
Confusion Général

• Actionscript n’égale pas nécessairement et
  uniquement un code compilé pour le
  lecteur Flash.
Adobe AIR

• Adobe Integrated Runtime (AIR)
• De la même manière que Java, AIR nécessite au préalable
  l'installation d'un moteur d'exécution au sein duquel sera
  exécutée l'application. Cela offre l'avantage conséquent
  de n'avoir à écrire qu'un unique code pour toutes les
  plates-formes supportées par AIR.
  http://fr.wikipedia.org/wiki/Adobe_Integrated_Runtime
Adobe AIR

• Donc:
  – AIR peut exécuter de l’actionscript
  – Il est sur Microsoft Windows et sur MacOs
  – Et le « player » est disponible sur Android et
    sur la BlackBerry PlayBook
Et…

• Pour iOS?
  – iPhone / iPod touch / iPad
  – Le compilateur AIR compile l’Actionscript en
    application compatible
API AIR

• Qu’est ce que AIR apporte de plus de ce
  que je peux faire avec Flash?
  – Base de données locale SQLite
  – Gestion fichier (CRUD)
  – Interaction avec le OS
API AIR

• Et les APIs spécifique au mobile
  – Gestion Multitouche + Gesture
  – Utilisation de la Camera et du micro
     • « CameraRoll »
  – GPS / Accéléromètre
  – Orientation de l’écran
  – Bouton Android
  – Etc…
API Stage…

• StageVideo
  – Couche pour la vidéo avec accélération matricielle
• StageWebView
  –   Inclure une page web (Webkit)
  –   Utile pour API Facebook
  –   Contenu dynamique Web
  –   Zone publicitaire
API Stage…

• Stage3D
  – Nouveau moteur 3D [UnReal, Unity]

• StageText
  – Champ texte natif
     •   Dictionnaire
     •   Clavier natif,
     •   Copier / Coller
     •   Sélection
API AIR

• C’est tout?
• Pas plus d’API
• Et si j’ai besoin d’une fonctionnalité
  spécifique à Android ou iOS???
ANE




             ANE
Actionscript Native Extension
ANE

• Extension des fonctionnalités non-incluse
  dans AIR
• Nouveau, Q3-2011
• Extension pour Microsoft Windows, MacOs
  et les Mobiles!
ANE
ANE - Exemple

• Voici quelques exemples:
  – Lecteur NFC
     • communication en champ proche
  – APNs
     • Apple Push Notification Service
  – Gyroscope
ANE - Exemple

• Exemple personnel
  – Une application Android/iOS
  – Une même interface commune
  – Pour Android, utilisation d’un service qui roule
    en permanence, développé en Java et le SDK
    de Android
  – Base de données commune
ANE - Développement

• Un ANE peut inclure un ou plusieurs codes
  natif de un ou plusieurs environnements
  (ex: Android, iOS)
• Une application AIR peut contenir plus
  d’un ANE
• L’utilisation des débuggeurs « Natifs » est
  permis. (Ex: ADB/DDMS pour Android)
ANE - Développement

• Un ANE peut inclure un ou plusieurs code
  natif de un ou plusieurs environnement
  (ex: Android, iOS)
• Une application AIR peut contenir plus
  d’un ANE
• L’utilisation des débuggeur « Natif » est
  permis. (Ex: ADB/DDMS pour Android)
Environnement de développement

• Ok, en résumé
  – Actionscript est pour le Flash Player et AIR
  – AIR ajoute des fonctionnalités et je peux
    moi-même m’en développer
  – Mais avec quoi?
Environnement de développement

• 3 façons sont disponibles:
  – Adobe Flash Professional
  – Adobe Flash Builder (Eclipse plug-in)
  – Note pad ! et compilateur open-source
Environnement de développement
Flash Builder ?!

• Adobe Flash Builder
  – Un environnement de développement:
     • Sans Timeline et outils de design
     • Sur Eclipse
     • Outils disponible
        – SVN, ANT, etc…
Flash Builder ?!




  Haaaaaaa Flex!
Flash Builder / Flex

• Anciennement Adobe Flex Builder il a été
  renommé pour couvrir la confusion…
• Mon opinion, ça aurait du être :
  – Adobe Actionscript Builder 
• Et Flex.. C’est quoi ça… encore…
Adobe Flex

• Flex est un framework open source
  originalement développé par Adobe pour
  créer des applications Flash et AIR.
• Le développement de projet Flex se fait en
  Actionscript 3 et du MXML
• MXML est un langage dérivé du XML qui
  décrit les interfaces de l’application
Adobe Flex

• Flex possède une multitude de composants
  graphiques et utilitaires.
• Le style est géré via CSS
• Analogie
  – MXML => HTML
  – Actionscript => Javascript
  – CSS => CSS 
Apache Flex

Q4-2011
En gros!

• En résumé:
  – Actionscript = Flash player et AIR
  – Code AS avec
     • Flash Pro
     • Flash Builder
  – Développement en :
     • Pure AS3
     • En utilisant le SDK Apache Flex
        – Framework applicatif
Et le mobile…

• Pour une application Mobile il faut
  compiler avec AIR
• Qui peut compiler pour AIR :
  – Adobe Flash Pro
  – Adobe Flash Builder
  – Ligne de commande (ant, terminal, etc)
OK! Mais…

• … mais qu’est ce qui exécute AIR?
• Le AIR player!
!




Pas encore un player!!!!
Une seconde

• BlackBerry possède dès l’installation Adobe
  AIR
  – La nouvelle version, la 2, sortie hier, possède la
    dernière version!
• Android 2.2 possède AIR et est
  « upgradable ».
  – Il est possible à la compilation
    d’inclure le player dans l’application:
      CaptiveRuntimeSupport.
Et iOS

• Pour iOS, à cause des restrictions imposées
  par Apple, le player AIR est inclus
  automatiquement au fichier *.ipa
Avantages
Ce que je pense de…

• AS3/AIR vs Natif vs HTML5/Js
• Application mobile vs Site Mobile
Et moi…

• Mon équipe web peut-il développer mon
  application?
  – Oui, mais...
Développer Mobile

• voici mes conseils:
  – L’ergonomie mobile n’est pas celle du web
  – Un émulateur n’est pas la « vrai » réalité
     • Faite l’achat des « devices » que vous allez
       supporter.
  – N’amenez pas vos mauvaises pratiques de
    développement. Un mobile c’est pas
    hyper puissant!
Développer Mobile

• voici mon dernier conseil:
  – soyez présent à ma conférence de vendredi:
  – Du développement web au mobile
  – 8:30
Pour commencer

• Ressources
  – http://extensionsforair.com/
  – http://flex.org/
  – http://www.adobe.com/
  – Sur votre mobile: Tour de Flex
     • http://flex.org/tour-de-mobile-flex/
Conclusion

• Le Future sera…
  – Air sur les TV
  – Ajout de Windows 8
  – Un meilleur SDK de Flex par Apache
  – Flash = Vidéo et Jeux
  – De supers réalisations 3D avec Flash/AIR
Q&A
Merci
       Martin Arvisais
marvisais@holonetstudio.com

Actionscript: du web au mobile

  • 1.
    Actionscript: du webau mobile Par: Martin Arvisais HolonetStudio.com
  • 2.
    Avertissement • Mes opinionssont les miennes. • Ils peuvent refléter ou non les opinions des compagnies pour lesquels je travail avec. • Je vous souhaite une bonne présentation!
  • 3.
    Qui suis-je • Votreprésentateur pour cette session. • Je me présente Martin Arvisais: – Entrepreneur / Développeur / Formateur – Conférencier – Tripeux de Techno!
  • 4.
    Qui suis-je • Entrepreneur:Holonet Studio – Développement Web / Mobile / Social – Spécialisé en développement Actionscript – B2B / R&D – Jeux / Application
  • 5.
    Qui suis-je • Développeur – Sur le WWW depuis plus de 15 ans – Actionscripteur depuis plus de 12 ans – Flexeur depuis plus de 8 ans
  • 6.
    Qui suis-je • Formateur – Plus de 2800 heures de formation – Cégep, Entreprise, Particulier – Flash, AS2 et AS3, Flex, FMS,…
  • 7.
    Assez parlé demoi! • Qui êtes vous? À qui je parle? – Des développeurs ? Des Designers? – Qui a déjà ouvert Flash? – Qui a déjà ouvert Flex? – Qui fait du mobile?
  • 8.
    Agenda • Ce quisera vu – Actionscript et AIR pour Mobile – Écosystème Mobile – Développement
  • 9.
    Actionscript / AIR Uncode pour les développer tous.
  • 10.
    AS3 • Wikipedia: – ActionScript est un langage de script, orienté objet et prototype, basé sur ECMAScript (conforme à 100% avec la norme ECMA- 262, révision 3, depuis ActionScript 3.0). ECMAScript étant une version standardisée de JavaScript, ActionScript et JavaScript partagent une syntaxe semblable. http://fr.wikipedia.org/wiki/Actionscript • La version courante est la version 3 (juin 2006).
  • 11.
    Actionscript et Mobile « Moi je sais que l’Actionscript c’est pour Flash, et Flash il n’y a pas ça sur mon Iphone! Donc, c’est impossible!!!!!! »
  • 12.
    Confusion Général • Actionscriptn’égale pas nécessairement et uniquement un code compilé pour le lecteur Flash.
  • 13.
    Adobe AIR • AdobeIntegrated Runtime (AIR) • De la même manière que Java, AIR nécessite au préalable l'installation d'un moteur d'exécution au sein duquel sera exécutée l'application. Cela offre l'avantage conséquent de n'avoir à écrire qu'un unique code pour toutes les plates-formes supportées par AIR. http://fr.wikipedia.org/wiki/Adobe_Integrated_Runtime
  • 14.
    Adobe AIR • Donc: – AIR peut exécuter de l’actionscript – Il est sur Microsoft Windows et sur MacOs – Et le « player » est disponible sur Android et sur la BlackBerry PlayBook
  • 15.
    Et… • Pour iOS? – iPhone / iPod touch / iPad – Le compilateur AIR compile l’Actionscript en application compatible
  • 16.
    API AIR • Qu’estce que AIR apporte de plus de ce que je peux faire avec Flash? – Base de données locale SQLite – Gestion fichier (CRUD) – Interaction avec le OS
  • 17.
    API AIR • Etles APIs spécifique au mobile – Gestion Multitouche + Gesture – Utilisation de la Camera et du micro • « CameraRoll » – GPS / Accéléromètre – Orientation de l’écran – Bouton Android – Etc…
  • 18.
    API Stage… • StageVideo – Couche pour la vidéo avec accélération matricielle • StageWebView – Inclure une page web (Webkit) – Utile pour API Facebook – Contenu dynamique Web – Zone publicitaire
  • 19.
    API Stage… • Stage3D – Nouveau moteur 3D [UnReal, Unity] • StageText – Champ texte natif • Dictionnaire • Clavier natif, • Copier / Coller • Sélection
  • 20.
    API AIR • C’esttout? • Pas plus d’API • Et si j’ai besoin d’une fonctionnalité spécifique à Android ou iOS???
  • 21.
    ANE ANE Actionscript Native Extension
  • 22.
    ANE • Extension desfonctionnalités non-incluse dans AIR • Nouveau, Q3-2011 • Extension pour Microsoft Windows, MacOs et les Mobiles!
  • 23.
  • 24.
    ANE - Exemple •Voici quelques exemples: – Lecteur NFC • communication en champ proche – APNs • Apple Push Notification Service – Gyroscope
  • 25.
    ANE - Exemple •Exemple personnel – Une application Android/iOS – Une même interface commune – Pour Android, utilisation d’un service qui roule en permanence, développé en Java et le SDK de Android – Base de données commune
  • 26.
    ANE - Développement •Un ANE peut inclure un ou plusieurs codes natif de un ou plusieurs environnements (ex: Android, iOS) • Une application AIR peut contenir plus d’un ANE • L’utilisation des débuggeurs « Natifs » est permis. (Ex: ADB/DDMS pour Android)
  • 27.
    ANE - Développement •Un ANE peut inclure un ou plusieurs code natif de un ou plusieurs environnement (ex: Android, iOS) • Une application AIR peut contenir plus d’un ANE • L’utilisation des débuggeur « Natif » est permis. (Ex: ADB/DDMS pour Android)
  • 28.
    Environnement de développement •Ok, en résumé – Actionscript est pour le Flash Player et AIR – AIR ajoute des fonctionnalités et je peux moi-même m’en développer – Mais avec quoi?
  • 29.
    Environnement de développement •3 façons sont disponibles: – Adobe Flash Professional – Adobe Flash Builder (Eclipse plug-in) – Note pad ! et compilateur open-source
  • 30.
  • 31.
    Flash Builder ?! •Adobe Flash Builder – Un environnement de développement: • Sans Timeline et outils de design • Sur Eclipse • Outils disponible – SVN, ANT, etc…
  • 32.
    Flash Builder ?! Haaaaaaa Flex!
  • 33.
    Flash Builder /Flex • Anciennement Adobe Flex Builder il a été renommé pour couvrir la confusion… • Mon opinion, ça aurait du être : – Adobe Actionscript Builder  • Et Flex.. C’est quoi ça… encore…
  • 34.
    Adobe Flex • Flexest un framework open source originalement développé par Adobe pour créer des applications Flash et AIR. • Le développement de projet Flex se fait en Actionscript 3 et du MXML • MXML est un langage dérivé du XML qui décrit les interfaces de l’application
  • 35.
    Adobe Flex • Flexpossède une multitude de composants graphiques et utilitaires. • Le style est géré via CSS • Analogie – MXML => HTML – Actionscript => Javascript – CSS => CSS 
  • 36.
  • 37.
    En gros! • Enrésumé: – Actionscript = Flash player et AIR – Code AS avec • Flash Pro • Flash Builder – Développement en : • Pure AS3 • En utilisant le SDK Apache Flex – Framework applicatif
  • 38.
    Et le mobile… •Pour une application Mobile il faut compiler avec AIR • Qui peut compiler pour AIR : – Adobe Flash Pro – Adobe Flash Builder – Ligne de commande (ant, terminal, etc)
  • 39.
    OK! Mais… • …mais qu’est ce qui exécute AIR? • Le AIR player!
  • 40.
    ! Pas encore unplayer!!!!
  • 41.
    Une seconde • BlackBerrypossède dès l’installation Adobe AIR – La nouvelle version, la 2, sortie hier, possède la dernière version! • Android 2.2 possède AIR et est « upgradable ». – Il est possible à la compilation d’inclure le player dans l’application: CaptiveRuntimeSupport.
  • 42.
    Et iOS • PouriOS, à cause des restrictions imposées par Apple, le player AIR est inclus automatiquement au fichier *.ipa
  • 43.
  • 44.
    Ce que jepense de… • AS3/AIR vs Natif vs HTML5/Js • Application mobile vs Site Mobile
  • 45.
    Et moi… • Monéquipe web peut-il développer mon application? – Oui, mais...
  • 46.
    Développer Mobile • voicimes conseils: – L’ergonomie mobile n’est pas celle du web – Un émulateur n’est pas la « vrai » réalité • Faite l’achat des « devices » que vous allez supporter. – N’amenez pas vos mauvaises pratiques de développement. Un mobile c’est pas hyper puissant!
  • 47.
    Développer Mobile • voicimon dernier conseil: – soyez présent à ma conférence de vendredi: – Du développement web au mobile – 8:30
  • 48.
    Pour commencer • Ressources – http://extensionsforair.com/ – http://flex.org/ – http://www.adobe.com/ – Sur votre mobile: Tour de Flex • http://flex.org/tour-de-mobile-flex/
  • 49.
    Conclusion • Le Futuresera… – Air sur les TV – Ajout de Windows 8 – Un meilleur SDK de Flex par Apache – Flash = Vidéo et Jeux – De supers réalisations 3D avec Flash/AIR
  • 50.
  • 51.
    Merci Martin Arvisais marvisais@holonetstudio.com