Pourquoi Flash n'est pas mort ?
J'entends de plus en plus prétendre au fil du temps que Flash est une technologie du passé avec l'émergence d'HTML5, que la nécessité du player est un frein : baisse des performances, manque d'accessibilité etc. Pourtant, je ne peux pas croire à la mort de cet outil actuellement. Pourquoi ?
On peux avoir recours à flash pour plusieurs raison : créer une application RIA, créer un bandeau publicitaire, créer un site de contenu... dans les 2 premiers cas, c'est pertinent, dans le 3e, aucun intérêt (pour des raisons de référencement mais pas seulement).
Accessibilité et Flash
J'en ai déjà parlé sur ce site, il est possible de faire de l'accessibilité avec Flash. Cela dit, si je parle de l'accessibilité en premier, ce n'est pas anodin : car c'est sans doute l'argument le plus valable à ne pas mettre au crédit d'Adobe : Réaliser une animation accessible est très lourd, donc prend du temps.
Il y a un "mais" : pourquoi fait-on du Flash ? on fait du Flash pour aller plus loin qu'avec HTML/Javascript, c'est tout. Avoir recours à Flash pour faire un truc qui bouge de droite à gauche n'a aucun intérêt car il existe tout un choix de Framework JS vous permettant de nombreuses manipulations: Drag'n'drop, Tween etc. Dans tous les cas, que vos animations soient HTML/JS ou Flash, elle ne seront que dans très peu de cas accessibles.
En ce sens, reprocher le manque d'accessibilité de Flash dans le cas RIA n'est pas un argument recevable.
Bandeaux publicitaires
Je ne pense pas que l'on remplace les bandeaux pub par des images statiques ou des GIF animés ce qui serait un grave retour en arrière. Flash a de ce point de vue une véritable valeur ajoutée : pour les graphistes flasheurs (nous y viendront plus tard dans cet article), et au niveau de la présentation.
N'en déplaise aux détracteurs, flash permet aujourd'hui ce qu'HTML/JS ne permet pas : entre autre le vectoriel (plus léger que le pixel).
Player Flash
Le player Flash (au même titre que la machine virtuelle Java) peut apparaître comme un inconvénient; mais c'est aussi un avantage : celui de la portabilité. Flash est multi plate forme, c'est tout de même quelque chose d'important.
De plus le player est présent sur toutes les machines ou presque (j'omets les portables, le mien n'est pas équipé).
Performances
Même si les performances sont parfois mauvaises, c'est tout de même plus souvent du au développeur qu'au player Flash. De plus le player offre de bonne perf dans la majorité des cas. C'était l'argument des détracteurs de la VM Java alors que son implication en terme de perf dans un algorithme complexe était de l'ordre de 1%...Dans des articles plus récents : http://blog.cfelde.com/2010/06/c-vs-java-performance/
Si le player pose un problème de perf à un niveau particulier, Adobe travaille certainement dessus pour le résoudre (et concernant le web, je n'y ai jamais été confronté).
Flash développeurs
Richesse de l'API
Flash ne sert pas qu'à diffuser de la vidéo et à faire des bandeaux publicitaires. Flash permet d'appeler des Webservices, de manipuler facilement des fichiers XML, gérer des connections locales, distantes, faire du remoting, du socket... et j'en passe.
Le tout est permis dans un langage puissant, au typage potentiellement fort. On peut également utiliser la conception objet de la programmation au maximum : héritage et polymorphisme, interfaces, classes abstraites etc. etc.
Aujourd'hui, Actionscript s'est clairement imposé comme un véritable langage de programmation dans la communauté, et de nombreuses bibliothèques open-source sont disponibles : Tweenmax, Vegas, Papervision, Box2D, Sandy3D, etc etc... J'en oublie presque Flex et son SDK open-source fourni par Adobe.
Aujourd'hui, HTML5/JS fait très pâle figure à côté de ce potentiel. Ce sera peut-être génial dans 5 ans, mais c'est aujourd'hui que mes clients veulent des applications riches, pas dans 5 ans.
Difficulté de développement
Si vous avez l'habitude de développer en actionscript dans le fichier FLA, cela fait plus de 10 ans que vous avez la possibilité d'externaliser votre votre et d'utiliser de vrai IDE de développement fait pour actionscript : Flashdevelop, FlexBuilder...
J'ai beau coder en JS, bien connaitre les librairies comme jQuery, Prototype et Mootools... je n'ai pas le même confort de développement (oui, j'ai passé l'âge de coder dans notepad++, j'aime la complétion, Eclipse, Netbeans et tous ces outils qui me font me dire qu'internet n'est plus seulement un truc de Geeks, mais aussi de pros).
Aujourd'hui, on développe en Actionscript alors qu'on bricole en JS, c'est exagéré mais c'est un peu la réalité (j'espère que cela va évoluer).
Flash Graphiste
Parlons maintenant du point de vue graphiste. Nul n'est besoin d'être un grand codeur pour créer des animations super sympas et rapidement en Flash. Quel est l'alternative proposé à ces petites animations ? aucune actuellement. Pour un graphiste, comment se passer de la timeline, la bibliothèque, des outils de dessin, etc ?
On remplace SWF par SVG ? qui me fait l'animation du haut de cette page en SVG ? Je gage que ca prendra plus de temps qu'il n'en a fallu à celui qui l'a réalisée.
Conclusion
Flash et HTML5 cohabiteront. C'est presque une certitude, car Flash est actuellement plus mature. Cet article ne sera peut être plus vrai dans quelques années si des outils permettant aux graphistes de travailler de la même manière surviennent, idem pour les développeurs.
Une petite pique pour la fin : les critiques de la techno proviennent dans la majorité de ceux qui l'ont rejeté au départ. Je ne suis ni pour ni contre Flash, si demain HTML5 me permet de travailler aussi efficacement, j'en ferai avec plaisir.
Aujourd'hui, Flash a néanmoins perdu une part de marché : il n'est plus pertinent de choisir Flash pour des animations très simples.













Bref on ne nous promet rien, on nous formate. On nous dit : n'allez plus par là, c'est pas bien... Et nous pleurons d'abord, nous suivons ensuite. Sauf que...
Ce qui s'est imposé sur le web ne l'a jamais été grâce ou à cause des grandes compagnies, mais simplement imposé par l'usage. Les entreprises commerciales savent où est leur intérêt et elles ont vite fait de s'adapter à leurs clients, après avoir tenté de les diriger ailleurs.
Flash ne mourra pas tant qu'il y aura de médiocres et de merveilleux codeurs capables de pondre une bannière publicitaire en 3 secondes ou une animation qui nous fait rêver et qui nous sort de nos tristes pages html... Flash ne mourra que lorsqu'il n'y aura plus personne capable de dessiner et d'animer des petits trucs à l'écran. Parce que c'est facile, rapide, évident, Flash ne mourra pas.
Combien de temps faut-il pour écrire (ou programmer) une page en bon HTML ? Et d'y ajouter assez de scripts pour qu'elle soit jolie ?
Aucun rapport avec la facilité (qui produit souvent le pire aussi) de la conception avec Flash. Je ne parle pas de qualité, mais juste de simplicité. Quand on atteindra la même simplicité par d'autres moyens, Flash n'aura plus de raison d'être. Mais pour l'instant...
Comment voulez-vus que le grand public suive ?
Espérons que les navigateurs modernes continuent leur route vers HTML5 sans délaisser cette technologie (chrome, mozilla et j'en passe.)
Toutefois on a de quoi ce poser des question sur l'avenir de flash étant donné qu'adobe songe à créer un convertisseur flash html5.
Source : http://...h-en-html5
Bref bon article, bonne neutralité, super !
Source officielle ? d'autre part, je vois pas bien l’intérêt de le supprimer, c'est un peu comme bloquer le plugin unity... Aucun intérêt de bloquer volontairement ce type de plugin. Source foireuse si vous voulez mon avis. D'autre part "Pour le moment les iPhones/iPad ne le supportent pas" : à moitié vrai, parce qu'elles le veulent bien d'une part, d'autre part on génère des .app avec Flex ou Flash.
Après, flash disparaîtra peut être, mais ils va faloir que le web progresse un peu plus vite à certains niveau (les websockets sont un bon début, mais ça va pas suffire non plus).
Pour le moment les iPhones/iPad ne le supportent pas.
C'est en ce sens que je fais parti de ceux qui pense que le flash va disparaitre à moyen terme. Si les "gros" décident de ne plus supporter le flash, ils auront le dernier mot, peut importe ce que développeurs/designers/utilisateurs en pensent.
En plus, HTML/JS c'est cool, mais quid de certaines fonctionnalités comme LocalConnection, Proxy et le remoting ?
On n'a pas fini d'en parler :)
Effectivement Morgan, Dart est très intéressant et fait penser à haxe ( http://...targets/js ), je me demande comment tout ça va évoluer... et bien malin qui peut le dire !
Malheureusement, le gros problème vient d'adobe : http://...focus.html
Je ne comprend pas leur point de vue... HTML5/CSS/JS ne fonctionne absolument pas de la même manière sur les différents navigateurs (PC et téléphone). Un exemple qui ne fonctionne que sur Safari/iOS : http://...ransforms/ et pas sur Chrome.
Bref, merci adobe de tuer Flash...
HTML5/JS n'a pas le même niveau de possibilités que Flash/AS3 et à mon avis le principal problème c'est JS (Un langage dépassé sauvé pas des Frameworks).
Peut être qu'un duo HTML5/DART (Google) permettra de réaliser aussi des RIA structurées sans player.