HTML5 vs. Flash, quel choix de technologie effectuer pour ses applications web et mobiles ?
Dans un contexte de double mutation, celle des supports et celle des langages, le choix d'une technologie adaptée à la réalité d'une communication digitale reste une étape clef dans la réalisation de tout projet.
Coté supports, de nouveaux terminaux – ou « devices » - mobiles viennent se prendre une part chaque année plus importante dans le parc numérique. Cette multiplication des tablettes et smartphones vient altérer les comportements de leurs utilisateurs ; ces derniers développent des exigences nouvelles en termes d'ergonomie, de fonctionnalités, de personnalisation des applications numériques.
Coté langages et standards technologiques, l'adoption croissante du HTML5/CSS3 comme nouveau standard pour la création de contenus web et numériques vient redéfinir la nature même de ces contenus.
Les possibilités de cette technologique imposent elles aussi des nouvelles pratiques dans la communication numérique.
État des lieux HTML5
HTML5 est le prochain standard du langage de construction de page
web. Porté par le W3C, celui-ci a été rendu public en 2011, mais
ne devrait être finalisé qu'en
2014.
Le HTML est un langage de description de document, conçu
initialement pour composer des documents hypertextes. Il ne
s'agissait donc pas d'un langage à vocation applicative.
Cet
aspect a été introduit dans le projet HTML5, intégrant diverses
API, ou modules applicatifs, permettant de réaliser en HTML des
fonctionnalités jusque là uniquement faisables avec des Plugins ou
du JavaScript.
Une démonstration des applications potentielles de ces API,
couplées aux feuilles de styles CSS3 est proposée par Adobe dans
"The expressive web".
Les fonctions les plus
spectaculaires sont celles impliquant support vidéo, dégradés, et
dessin vectoriel (API Canvas)...
Si de nombreuses nouveautés de HTML5 sont spectaculaires et
ouvrent la porte à des pages web plus riches et animées que
jusqu'ici, un principal frein empêche aujourd'hui le langage de
s'imposer comme nouveau standard : HTML5 n'est pas encore pleinement
supporté par l'ensemble des navigateurs.
Pire encore, son support
n'est pas uniforme, car à ce jour, il n'y pas un support du HTML5,
mais plusieurs, selon les différents noyaux logiciels des
navigateurs web.
Si WebKit/Chromium est très avancé dans le
support de HTML5, Mozilla conserve un certain retard – seules les
versions récentes présentent un «vrai » support du format –
et enfin Internet Explorer n'offre un très partiel support dans sa
version 9, et promet mieux pour le prochain IE10 (à venir dans
Windows 8).
Faute de convergence, et de véritable standardisation, HTML5 ne
peut être exploité que partiellement si on veut toucher une
population importante d'internautes. Ainsi un nombre important de
fonctionnalités devra être mis de coté en attendant un futur
support plus universel.
Les enrichissements devront être confiés
à des frameworks Javascript mieux supportés – typiquement
jQuery.
http://www.html5rocks.com/en/features/multimedia#features
http://caniuse.com
A titre d'exemple, le site Deezer, récemment refondu en HTML5,
utilise toujours un player audio en Flash, car HTML5 ne permet pas à
ce jour le développement de cette fonctionnalité avec les exigences
de support universel ni de protection des données soumises à
copyright.
http://blogmotion.fr/internet/telecharger-deezer-flash-7118
Du coté des équipements mobiles, les constructeurs ont largement
franchi le pas, tous les smartphones et tablettes embarquent un
navigateur compatible HTML5 – Safari chez iOs, Chrome chez Android.
Cette mise à disposition du support HTML5 sur ces équipements
permet d'utiliser le langage pour la constitution de sites ciblées
mobiles mais aussi d'applications mobiles.
Toutefois, l'usage de
HTML5 pour la production d'applications mobiles est une réponse à
minima, séduisante par un faible coût de production, ainsi que par
de modestes exigences en terme d’expertise du développement
logiciel.
Les limitations du langage sont inhérentes à sa nature
intrinsèque : HTML5 est un langage de construction de pages Web. Les
applications basées sur celui-ci resteront des pages Web – même
sophistiquées – affichées dans un navigateur embarquée par
l'application mobile. L'ergonomie des applications sera donc
largement bridé par ce formatage.
Dans des considérations
purement techniques, les performances d'applications HTML5 sur
équipements mobiles sont largement inférieures à celles réalisés
dans les langages dits "natifs" de ces
équipements.
http://en.wikipedia.org/wiki/Comparison_of_HTML5_and_Flash
http://blog.stjohns.fr/2012/153/html5-et-flash.html
État des lieux Flash
L'avantage du déploiement Flash Player est la compatibilité
absolue avec les navigateurs web équipés du Plugin, soit la
quasi-intégralité (98%) du parc informatique actuel.
Toutes les
versions – ou presque - sont supportés. Par exemple pour Internet
Explorer, le recours au Plugin Flash permet une compatibilité de la
version 6 jusqu'à la 10 (non publique à ce jour).
Flash - porté dans la dernière version de son langage,
ActionScript 3 - permet de déployer ses contenus dans le contexte
d'une application et tout aussi bien que dans celui d'un site sous
Flash Player.
Et ceci, à partir d'un développement unique.
Les perspectives d'évolution de l'équipement des terminaux par le Plugin Flash Player engage à étudier de futurs choix technologiques.
Les derniers communiqués de Adobe, éditeur de Flash Player et de
Flash, annoncent à très court terme la fin de la distribution du
Plugin Flash Player à destination des équipements mobiles. C'est à
dire la fin du support de Flash en tant que module externe pour les
navigateurs Internet des terminaux mobiles.
Ceci ne signifie pas
l'abandon des terminaux mobiles (smartphones, tablettes) par Adobe,
mais un re-positionnement de sa stratégie, dans le but précis de
renforcer la diffusion de contenus Flash sur ces supports.
Le re-positionnement d'Adobe, n'est donc pas un retrait, bien au contraire.
Adobe juge à raison que les contenus Flash trouvent leur valeur
ajoutée dans une immersion, une lecture plein-écran... expérience
qui est forcément bridée dans le cadre de l’exécution via un
Plugin navigateur.
Le meilleur bénéfice des contenu Flash sera
trouvé par leur rendu via un environnement d’exécution dédié,
ou Runtime, permettant une diffusion indépendante du navigateur.
Le Runtime dédié à Flash est Adobe Integrated Runtime ou AIR.
AIR a été lancé en 2008 par Adobe sur un modèle comparable
aux machines virtuelles Java, c'est en développant AIR que Adobe
assure la pérennité des contenus Flash sur l'ensemble des
plate-formes pour lesquelles le Runtime est maintenu :
-
ordinateurs Mac/Windows
- terminaux Android, iOS, Blackberry
-
télévisions connectées..
http://www.adobe.com/fr/products/air/tech-specs.html
http://fr.wikipedia.org/wiki/Adobe_Integrated_Runtime
Enfin, les dernières versions des logiciels de production Flash
(Flash Pro, Flex, Flash Builder), permettent nativement de compiler
les projets Flash dans les formats applicatifs des systèmes
d'exploitation mobiles.
Dans ce contexte, le modèle de diffusion
est celui d'Applications mobiles autonomes.
Le futur des applications web s'envisage donc à la lumière des évolutions annoncées par Adobe pour Flash.
La migration vers AIR offre les atouts suivants :
- le support
en tant que véritable Application par les terminaux iOS (iPad, etc),
Android (tablettes Asus, Samsung), etc
- le support en tant
qu'Application sur les ordinateurs personnels (Windows et Mac Os)
-
le maintien du développement dans le contexte Flash, avec toutes les
possibilités graphiques offertes par le format (liberté de création
et animation, force du langage ActionScript, support vidéo, rendu
3D... )
- pour les navigateurs dont le Plugin Flash Player reste
maintenu, le fonctionnement "historique" reste accessible
Avenir sur les plate-formes Windows futures
La diffusion en application libère complètement de toutes
dépendance vis-à-vis de Flash Player.
Étant capable de publier
au format .exe, il devient possible de déployer des applications sur
les plateformes Windows futures, que celles-ci maintiennent Flash
Player ou non.
La prochaine version de Windows, 8, inclura une distribution de
Flash Player dont l'usage, selon les recommandations de Microsoft,
devra être réservé à des applications proposant une vraie valeur
ajoutée en matière d'expérience utilisateur. Une application
rentre exactement dans ce cadre là.
Un autre nouveauté annoncée
de Windows 8 est la création d'un espace de téléchargement
d'applications sur le modèle des App Stores d'Apple et Google. La
technologie impliquée est le Windows Runtime ou Windows RT. Là
aussi, la plateforme Flash permettra de publier dans ce
format.
http://msdn.microsoft.com/en-us/library/ie/jj193557.aspx
Les perspectives de diffusion au monde Windows sont donc encourageantes, quels que soient les choix futurs de Microsoft à propos de Flash Player.
Impact
Le premier impact de cette évolution est simple, les applications
Flash aujourd'hui codées en ActionScript 2.0 devront évoluer pour
être rédigées en ActionScript 3.0.
La version 3 du langage de
programmation Flash étant la seule supportée par la plateforme AIR,
et la seule autorisant les exports vers terminaux mobiles.
La seconde conséquence est l'impératif abandon d'un large nombre
de recours aux contenus Flash Player dans la création web.
Par
soucis de produire des contenus web universellement accessibles,
l'usage de contenu Flash Player devient bloquant. Les sites
full-flash sans versions alternative sont à proscrire ; à moins que
l'on soit confortable avec l'idée de se tenir à l'écart de tous
les utilisateurs de tablettes.
De la même façon, les modules de
navigations en Flash sont à éviter ; mais ces pratiques étaient
largement condamnées par les exigences inhérentes aux politique SEO
(référencement naturel).
Rapport HTML5/Natif
Pour obtenir une véritable liberté de création et de conception
d'une expérience utilisateur conviviale et intuitive, il est
nécessaire de porter le développement dans un contexte plus riche,
de niveau logiciel.
Pour cela, l'usage d'un vrai langage de
développement et de sa plateforme de travail associée est
requis.
http://www.journaldunet.com/ebusiness/expert/51796/html5-ou-natif--quelle-strategie-adopter-pour-vos-applications-mobiles.shtml
A titre d'exemple, la semaine dernière, Mark Zuckerberg,
fondateur et dirigeant de Facebook, a annoncé que les prochaines
applications Facebook ne seraient plus basées sur HTML5, mais sur du
développement
natif.
http://techcrunch.com/2012/09/11/mark-zuckerberg-our-biggest-mistake-with-mobile-was-betting-too-much-on-html5/
C'est dans cette perspective que Couleur Citron a également choisi de se reposer sur la plateforme Flash pour la réalisation d'applications.
La réponse Flash est une réponse native
Flash a déjà largement fait ses preuves pour la production d'applications en ligne, comme d'applications "desktop". Flash a permis à d'innombrables éditeurs de produire des applications, des jeux, des supports de formation...
Les dernières évolutions de Flash (Flash Pro version CS6, Flash Builder 4.6), permettent de publier nativement pour l'ensemble des terminaux mobiles, ce qui offre tous les atouts de cette plateforme en matière de richesse d'animation, de rendu visuel, support multimédia, sécurisation des contenus... aux applications mobiles.
D'autres atouts non négligeables sont :
- le développement
dans le langage ActionScript 3, réalisé avec les outils de
l'éditeur Adobe : Flash Professionnel, Flash Builder.
- le même
projet fournit les livrables pour l'ensemble des plate-formes cibles
: SWF pour Flash Player, IPA pour iPad, etc...
Il n'y a pas de
duplication de développements, tous les travaux réalisés ne le
sont qu'une seule
fois.
http://helpx.adobe.com/flash-player/release-note/fp_114_air_34_release_notes.html
http://blogs.adobe.com/flashplayer/2012/08/flash-player-11-4-and-air-3-4.html
Tableau comparatif entre HTML5 et Flash :
|
HTML5 |
Flash |
Diffusion |
Support à partir des versions récentes des navigateurs (selon les éditeurs entre 2011 et 2013) |
Support dès l'équipement du Plugin ou natif si export en application |
Vidéo |
Support vidéo freiné par une guerre de formats entre MP4, WEBM et OGG |
Support des vidéos MP4, MOV, 3G, FLV... |
Rendu |
Rendu variable selon les navigateurs : différents niveau de compatibilité et de rendu |
Rendu unique |
Transitions |
Volets, translations |
Fondus, transparences, flous, colorations, saturations... |
Finesse des mise en page |
Mise en forme basée sur des paves de texte, enrichis en CSS |
Liberté de mise en forme absolue ; placement libre des éléments dans l'espace |
Éléments d'interface |
Boutons HTML, éventuellement habillés en CSS |
Totale latitude de création de pictos, boutons et autres éléments |
Sécurisation des contenus |
Aucune, tout est accessible par lecture du code source HTML |
L'application est compilé donc cryptée, les contenus sont protégés |
Diffusion
Pour les utilisateurs disposant d'un équipement compatible Flash Player (98% des PC/Mac) l'accès aux applications reste identique à celui connu aujourd'hui, au sein du navigateur.
Pour les utilisateurs "tablettes", l'accès pourra renvoyer vers une page de téléchargement d'une application iPad ou Android. Cette page peut être privée et non liée aux App Stores d'Apple ou Google ; ou à l'inverse, une diffusion via les App Stores sera envisagée, selon la typologie du projet.
Une fois l'application installée, l'utilisateur disposera de la
même interface de travail, mais enrichie des possibilités
supplémentaires offertes par les équipements mobiles : contrôle
tactile...
Par ailleurs, sur tablette il est possible de mémoriser
le compte utilisateur associé, et de ne pas redemander identifiant
et mot de passe à chaque lancement de l'application,
etc.
http://itunes.apple.com/us/book/ios-deployment-scenarios/id499335673?mt=11
Conclusion
Le choix de technologie doit être dicté par les objectifs poursuivis par le projet.
Dans le cas d'un projet Web, le recours à des contenus Flash
Player ne devra être envisagé qu'à défaut de solution HTML ou
Javascript équivalente.
A l'inverse, le développement de
contenus enrichis de comportements HTML5 devra se faire avec un
soucis de compatibilité sur les divers navigateurs, en s'attachant à
ne pas interdire ses contenus à une trop grande population
d'utilisateurs.
Dans le contexte d'application mobiles, si le projet est le
prolongement d'une réalisation web, ou une application de modeste
ambition en terme d'ergonomie ou d'animation, HTML5 est une solution
économique qui pourra fournir une réponse rapide.
Mais à
l'inverse, si l'application doit tirer profit de tout le potentiel du
support mobile, créer une véritable expérience utilisateur
immersive... il n'y aura pas d'autre solution satisfaisante que le
recours à un développement natif.
Et à ce titre, la plate-forme
Flash d'Adobe est certainement l'un des meilleurs choix pour réaliser
ces développements.