Flash, Flex, AIR, iPhone, mobiles : au secours, j’y comprends rien !

Help

Les annonces se succèdent

  • Apple ne veut pas de Flash sur l’iPad !
  • Adobe annonce Flex 4.5 pour Mobiles : iOS – Android – BlackBerry TabletOS !
  • Adobe abandonne Flash Player sur mobiles !

Hormis les évangélistes d’Adobe qui, quelque soit l’annonce, sont globalement « terribly excited »  et la secte des « viscéralement anti-Flash » qui danse en  chantant « Flash is dead, Steve was right« , plus grand monde ne s’y retrouve aujourd’hui dans cette avlanche d’annonces.

 

Flash, Flex, Air c’est quoi ?

Ça tourne sur mobile ou pas ? sur iPad ou non ?

Ça sert encore à quelquechose ? c’est mort ?

Nécessaire clarification

Un tweet sur le sujet :

rblank9 Seems #Adobe doesn’t get that ppl don’t know the diff btw #Flash & AIR. If ppl think #Flash on mobile is dead, it’s very hard to sell AIR

Effectivement, Adobe a anonncé le 9 novembre 2011 l’arrêt du développement du lecteur Flash pour les navigateurs mobiles. Cependant, il convient de distinguer cette technologie de la réalisation d’applications autonomes pour mobiles avec Adobe AIR qui continue pour sa part de proposer un énorme intérêt !

Comme je viens de sortir un livre sur cette dernière possibilité, je me sens un peu concerné et en devoir de tenter de clarifier les choses !

Par avance je vous présente mes excuses : c’est un peu long:-/

 

Essayons de repréciser un peu les choses

 

Flash

Flash est une machine virtuelle s’exécutant dans les navigateurs et permettant d’exécuter des programmes écrits en ActionScript, un langage cousin de JavaScript, mais ayant évolué vers une forme plus robuste et plus proche de la Programmation Orientée Objet telle qu’on la rencontre dans les autres environnements (.Net, Java,…)

Un navigateur embarque nativement différents interpréteurs : html, JavaScript, CSS. Le Flash Player se rajoute généralement après coup sous forme de plugin, mais certains navigateurs, comme Google Chrome, le contienne en standard.

Pas de Flash plugin sur iOS

La première rupture entre le monde du desktop et du mobile se situe ici : depuis l’origine, Apple n’a pas souhaité supporter l’installation de plugin dans les navigateurs de ses mobiles.

Cela interdit sur iPhone-iPad le Flash Player, mais également tous les systèmes d’extensions que l’on peut connaitre sur Firefox, Safari, Chrome. Cela ne permet pas non plus les applets Java et je ne crois pas d’ailleurs que Java en soit mort pour autant à la date d’aujourd’hui.

Quelles conséquences ?

Donc, pas d’exécution de programmes Flash sur un mobile Apple.

Le constat est simple : quelle société ira investir pour créer du contenu mobile avec Flash qui sera dans l’impossibilité de s’exécuter sur iPhone-iPad ?

Réponse : personne. Le marché mobile prédominant aujourd’hui en terme de contenu est encore iOS.

Conclusion : privé d’iOS, le lecteur Flash dans le navigateur ne présente plus aucune pertinence économique.

Que ce soit en raison de l’entêtement d’Apple ou d’un échec technologique d’Adobe importe peu au final. Adobe n’a fait qu’entériner une réalité.

Le problème, comme l’ont souligné nombre de commentateurs (se reporter au lien Adobe Communication en fin d’article), réside dans la déplorable communication d’Adobe et le manque de confiance qui en résulte envers l’ensemble de la plateforme Flash.

Et les applications autonomes ?

Comme je l’ai déjà écrit ailleurs, le marché des utilisateurs de mobiles tranche pour l’instant en faveur des applications autonomes, celles qu’on télécharge et qu’on installe sur son appareil, au détriment des applications dans le navigateur. 

Or, pour réaliser une application native il faut un développement pour chaque plateforme :

  • en java pour Android avec le SDK de Google et un IDE comme Eclipse
  • en Objective C pour iOS avec le SDK d’Apple et l’outil XCode d’Apple

Conséquences : complexité technologique, problème économique du double développement, évolutivité ralentie.

 

Un peu d’AIR

Adobe propose justement une technologie multiplateforme apportant une réponse à ces problèmes : le développement d’applications ActionScript packagées en applications autonomes avec intégration du runtime AIR.

Qu’est-ce que cela signifie ?

  • on développe dans un seul environnement (Flash Professional ou Flash Builder suivant le type d’application)
  • en utilisant un seul SDK, celui d’Adobe qui abstrait les particularités de plateforme
  • dans un seul langage, ActionScript.

On voit que l’analyse économique est ici complètement opposée à celle du lecteur Flash pour mobile : avec une seule technologie, on cible au contraire les deux principales plateformes du marché !

C’est que certaines personnes de chez Adobe tentent d’expliquer, un peu noyées dans la masse de buzz suscité par les annonces du 9 novembre 2011 :

Thibaud Imbert

« We are not stepping out of the mobile space with Flash, we are just focusing on what makes sense and where Flash looks great, standalone apps with AIR. »

Et Flex alors ?

Ok :

  • ActionScript un langage de développement,
  • Flash un moteur d’interprétation dans le navigateur, la partie abandonnée pour mobile
  • AIR un socle d’exécution, permettant de déployer des applications multiplatformes.

Mais qu’est-ce que Flex alors ?

Flex comprend plusieurs aspects : MXML + SDK + outils

  • MXML est un langage déclaratif d’éléments d’interface et de composants. Basé sur XML, ce langage très expressif permet de réduire considérablement les lignes de code à écrire pour décrire une interface.
  • le SDK (ensemble de classes comme peut l’être Microsoft .Net par exemple, mais en open-source) apporte les fonctionnalités nécessaires aux applications.
  • des outils compilateurs, packagers,…viennent compléter l’ensemble.

Schéma récapitulatif

Flashcomponents

    Conclusion

    D’un point de vue économique, il n’était plus justifié de continuer à proposer le lecteur Flash pour navigateur mobile puisqu’il ne s’exécutait pas sur iOS : ite missa est. Adobe a officialisé ce constat.

    Pour les mêmes considérations économiques, au lieu de développer plusieurs applications autonomes pour les différentes plateformes mobiles, il est raisonnable de rechercher une solution unifiée. Adobe en propose aujourd’hui deux : l’une basée sur Flex-AIR et l’autre sur HTML5-CSS-JavaScript avec PhoneGap. J’estime pour ma part qu’aujourd’hui l’offre Flex-AIR est plus mature, mieux outillée et au final plus efficace que son homologue html5.

    D’autres propositions existent démontrant la pertinence de l’approche multiplateforme : Appcelerator Titanium, Alcatel Lucent OpenPlug, etc.

    Après cette démarche de clarification, retournons aux projets d’applications mobiles AIR qui nous attendent !

     

    Pour aller plus loin

     

    Sujet déjà abordé dans plusieurs articles de ce blog

    2011 l’année des applications mobiles d’entreprise

    Proof of concept sur iPhone/Android avec Elips Studio

    Du mobile multiplateforme avec Flex 4.5 – 1ère partie –

    historique Flex

    Du mobile multiplateforme avec Flex 4.5 – 2ème partie –

    (posté le 11 février … avec la première copie d’écran de l’application Westerns, fil rouge du livre « Flex 4.5 pour mobiles »)

    Dans le livre « Flex 4.5 pour mobiles »

    • Avant-propos
    • Chapitre 1 : La plateforme Flash

    Quelques liens en relation :

      Laisser un commentaire

      Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

      Logo WordPress.com

      Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

      Image Twitter

      Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

      Photo Facebook

      Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

      Photo Google+

      Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

      Connexion à %s

      %d blogueurs aiment cette page :