Pourquoi je n'aime pas (beaucoup) Flash
Par jblanche le lundi 5 mars 2007, 22:00 - geeks - Lien permanent
J'ai eu l'occasion dans les commentaires d'un précédent billet puis dans quelques discussions récentes, d'expliquer pourquoi je ne souhaite pas voir Flash s'imposer sur certains secteurs du web.
Une réponse rapide serait de dire : Flash ça pue, c'est pas libre(expression bien connue dans le monde du logiciel libre !)
Bien sûr, cette réponse n'a aucun intêret et c'est pour cela que je vais tenter d'expliquer un peu plus en détail ce qui fait que je ne souhaite pas voir Flash gagner la bataille des formats du web...
Ce billet à fait l'objet de quelques réactions très intéressantes. Il est donc vivement conseillé de lire attentivement les commentaires le concernant, ceux ci amènent notamment quelques compléments et ou correction au billet original. De plus, la discussion concernant les formats de diffusion de la vidéo sur le web peut être poursuivie ici.
Comme je le disais il y a quelques instants, Nerik un collègue gobelinois, tentait de me convaincre des bienfaits de Flash dans un récent commentaire en s'appuyant sur les efforts fait par Adobe en termes d'accessibilité et en énonçant le fait que Flash devrait être utilisé plus souvent en terme d'applicatif notamment à la place de technologies comme AJAX dans des Netvibes, Gmail et autres Google docs . Enfin celui ci s'appuyait sur un article du sacro-saint "A List Appart" pour me prouver tout le bien qu'il pense de Flash.
L'article en question, intitulé Semantic Flash: Slippery When Wet traduisible en quelque chose qui se rapprocherait de : "Le flash sémantique : un terrain glissant (quand il est humide)", doit donc nous permettre, à travers quelques exemples, de prouver tous les bienfaits du Flash.
Malheureusement, la vérité est toute autre, et je vais donc m'appuyer sur les exemples de l'article "A List Appart", pour montrer en quelques points, ce que je reproche à Flash aujourd'hui. Toutefois ma connaissance de Flash n'est en rien parfaite et j'invite donc mes lecteurs à me corriger en cas d'oublis ou d'erreurs de ma part. Let's start...
Le sIFR
Le premier exemple donné par cet article est celui du sIFR . Cette technique permet d'utiliser n'importe quelle police dans un document HTML grâce à la traduction (côté client en Javascript), du texte servit en flash côté serveur.
Cette utilisation du Flash n'est pas la plus mauvaise de celles détaillées dans l'article, en effet la nouvelle version de sIFR semble accessible sur la majorité des systèmes d'exploitations (notamment Linux) depuis sa version2 et le texte est affiché également (dans la police par défaut) si le javascript est désactivé (Unobstrusive Javascript). Reste le problème de la sémantique, un titre en SIFR revient à quelque chose dans ce gout là :
<h1 class="sIFR-replaced">
<a href="http://www.mikeindustries.com/blog/files/sifr/2.0/vandenkeere.swf" class="abp-objtab visible" style="left: 700px ! important; top: 65px ! important;"/>
<embed width="700" height="65" src="vandenkeere.swf" quality="best"
flashvars="txt=<a href=%22asfunction:_root.launchURL,0%22>The Gothic Times</a>&textalign=center&offsetTop=6&textcolor=#000000&hovercolor=#CCCCCC&linkcolor=#000000&w=700&h=65&sifr_url_0=http://www.mikeindustries.com"
wmode="" bgcolor="#FFFFFF" sifr="true"
type="application/x-shockwave-flash" class="sIFR-flash" style="width: 700px; height: 65px;"/>
<span class="sIFR-alternate">
<a target="" href="http://www.mikeindustries.com">The Gothic Times</a>
</span>
</h1>
Le moins que l'on puisse dire c'est que l'on a déjà vu plus light pour un simple titre (d'autant plus qu'il faut rajouter à cela un script javascript). Alors certe, des belles polices c'est joli tout plein mais si c'est au dépend de la lisibilité, de la sémantique, de la légèreté du code, je préfère m'en passer.
Le slideshow
Le deuxième exemple donné par cet article est celui d'un slideshow en Flash facile à utiliser et à installer. L'article oublie tout de même de vous préciser qu'il vous en coutera 25$, mais ce n'est pas ce que je reprocherais à ce slideshow. Mais comme les Linuxiens le disent souvent à propos de Windows, je dirais à propos de ce script, il y a mieux, mais c'est moins cher. Je me contenterais donc d'une alternative javascript, toute aussi jolie, gratuite et non dépendante d'un plugin propriétaire. Je citerais par exemple, les superbes slideshow de jondesign.
Le lecteur d'écran
C'est la partie de l'article "A List Appart" la plus regrettable, en effet on vous y apprend que Flash peut détecter un lecteur d'écran et on vous propose un lien qui vous explique fièrement :
If you want to provide alternative content for screen reader users, you could use a Flash movie to detect the presence of a screen reader and redirect appropriately.
que je traduirais approximativement par quelque chose comme :
Si vous souhaitez proposer un contenu alternatif pour les visiteurs utilisant un lecteur d'écran, vous pouvez utiliser du Flash afin de détecter la présence d'un lecteur d'écran et rediriger de manière appropriée.
L'initiative était louable, malheureusement au lieu de favoriser l'accessibilité, cette astuce la bafoue complètement.
En effet, le code proposé ne fonctionnera que si le lecteur d'écran utilisé est soit Windows-Eyes, Jaws, ou IBM screen reader. Malheureusement, un contenu accessible est par essence accessible à tous, même si votre lecteur d'écran est différent, et ils sont nombreux.
De plus, l'idée me de proposer un contenu alternatif est anti-accessible, je citerais un des gourous de l'accessibilité web, en France, membre actif de l'excellent projet Opquast (qu'il va falloir que j'utilise pour ce blog d'ici peu) à savoir Laurent Denis :
Il ne s'agit en aucun cas de décliner un contenu sous différentes formes spécifiques visant telle ou telle série de handicaps, mais à l'inverse de structurer de manière unique le contenu de sorte qu'il puisse être exploité par les différentes aides logicielles et configurations utilisateurs.
Vous l'aurez donc compris, si le but de cette technique était de rendre Flash plus accessible, c'est raté.
Les Blockbusters
Par la suite, l'article s'appuie sur des exemples d'utilisation de Flash par les grand groupes que sont Yahoo et Google au sein de leurs produits (FlickR,Yahoo maps, Google Analytics).
Pour les deux premiers, je ne vois encore une fois pas d'avantage au flash, les seuls usages de Flash que j'ai vu dans FlickR sont liés au diaporamas de photos, qui pourraient aisément être remplacés par un système en javascript comme décrit plus haut. Pour ce qui est de Yahoo Maps, qu'apporte-t-il de plus par rapport à la version Google sans flash, à part des soucis de compatibilité avec certaines plateformes (64bits) ou certains systèmes d'exploitation.
Pour Google Analytics, les choses sont différentes. En effet, le service n'est pas destiné à un public aussi large que FlickR et Yahoo maps et les personnes désirant utiliser Google Analytics sont plus susceptibles d'être au courant des problèmes d'accessibilité dûs au Flash.
De plus, l'usage qui y est fait n'est à ma connaissance pas remplaçable par une technologie ouverte. (La génération des graphiques au format image est possible côté serveur mais quid des réactions au click sur une partie précise d'un graphique? ).
Dans ce cas, j'admets donc que Flash semble être la technologie la plus appropriée.
Les reflets
Enfin , l'article démontre comment le flash peut être utile pour ajouter un effet de reflet à la mode Web2.0 sous vos images, là encore, la démonstration échoue, l'utilisation du flash casse la sémantique de la page.
Les images ne disposent plus d'un lien fixe pouvant être utilisé par l'internaute pour lier cette image ailleurs que dans son contenu principal. De plus un effet aussi simple peut être obtenu de manière beaucoup plus aisée et sémantique avec des bibliothèques javascript comme reflection.js.
Conclusion
Ouch, aie, ouille...
Et pourtant, il reste quelques mauvais points à attribuer à Flash, ceux ci sont directement tirés de son statut de logiciel propriétaire.
On peut entre autre citer la non pérénité du format, rien n'oblige Adobe à continuer à livrer des versions de son player capables de lire les animations créées avec d'anciennes versions de flash. Alors qu'adviendra t'il de ces données dans 10 ans ? Un des avantages du numérique n'était-il pas la pérennité de l'information ?
Si demain, Adobe coule (certes il y a de la marge!), que deviendrait le format Flash ? De plus Flash est généralement plus lourd, plus gourmand en ressources qu'un contenu HTML, CSS, Javascript. Flash est également difficilement référençable, et pour cause, les robots des moteurs de recherches n'ont pas accès à ce qui se trouve "à l'intérieur de l'objet flash".
Vous l'aurez compris, ma conclusion sur un Flash accessible n'est pas resplendissante, cet article, censé démontrer tous les bienfaits du flash, me laisse perplexe. Son titre aurait pu être "Semantic Flash: Slippery, very Slippery". Je continue pourtant à penser que Flash est excellent sur les points où il est en position de monopole ou quasi monopole (intégration de la vidéo et du son au sein de pages web). Pour le reste, son format et quelques éternels défauts l'empêche de percer et de devenir l'outil adéquat pour de nouveaux usages. Alors oui je persiste et je signe, Flash n'est pas selon moi, un format adapté à d'autres usages que ceux auxquels il est actuellement employé (vidéo et son), et il ne le deviendra pas. J'irais même jusqu'à espérer l'intégration de formats ouverts aux principaux navigateurs afin de lire la vidéo et le son.
Je sais que cet article risque d'en faire réagir plus d'un, surtout venant d'un étudiant d'une formation multimédia où le Flash est très mis en avant. Aussi, je suis à l'écoute de ces réactions, et je m'accorde le droit de modifier le présent article si des erreurs ou approximations s'y sont glissées. Alors allez y, accablez moi, ou soutenez moi dans les commentaires.
Commentaires
Totalement d'accord avec toi en ce qui concerne les sites web applicatifs : Ajax est fait pour ça !
mais ne réduisons pas Flash à peau de chagrin !
Maintenant on ne peut pas non plus réduire Flash à la simple intégration de vidéos et de sons.
Flash permet de créer de nouveaux systémes de nav', de nouvelles "expériences utilisateurs" qui sont difficilement reproduisibles en javascript (cf. le site de leo burnett par exemple).
Quand on voit les avancées nouvelles avec l'AS3, on peut même imaginer les sites de demain en 3D...
Alors certes Flash reste à la marge en ce qui concerne les sites web applicatifs (aux chiottes flex !
J'avais trouvé cet article qui renvoyait Flash et Ajax dos à dos : http://www.dot1ne.com/article/ajax-... et je suis assez d'accord !
Utilisons l'un ou l'autre quand c'est le plus approprié et longue vie au web !
ps : sinon bravo pour ce blog bang bang : le gang bang du web !
A peu près d'accord sur l'ensemble de ce qui est dit, sauf pour ta partie sur le sifr, je n'ai pas de gros pavé de code, enfin je l'utilise en plugin wordpress. Enfin bref, Flash c'est bien pour faire joli (et encore on a les tweens en js maintenant et de belles librairies style Mootools) et pour avoir quelque chose de fluide, après ce n'est pas du tout accessible…
C'est article m'ouvre un peu les yeux sur flash.
En effet je suis un simple utilisateur de contenu flash
Je tourne sous GNU/Linux (Gentoo ou Ubuntu selon mon humeur)
De plus le tout en 64 bits et là le flash c'est pas facile a installer
Deux solutions pour le plugins flash firefox : 1)Utiliser un firefox compilé en 32bits dans l'environnement 64bit --> Dommage car il faut aussi des librairies en 32bits. 2) Utiliser npluginswrapper qui permet de faire tourner le plugin flash 32 sur firefox 64bits (solution que j'ai choisie)
Je voulais en fait dire flash j'aime bien quand il y a du contenu video intégré ... mais quand je surfe sur un site tout en flash autant vous le dire ça m'énerve car cela consomme des ressources énormes (surtout quand je surfe sur mon vieux laptop p3 1ghz 256mo de ram)
Bref tout ça pour dire que je suis bien d'accord avec toi ! meme si je ne connais pas la technicité pour sIFR par exemple
El tonio > Effectivement, Flash est également une solution régulièrement adoptée pour créer de nouvelles "expériences utilisateurs", toutefois ces sites sont la plupart du temps destiné à un public averti et leur intérêt réside plus dans leur interface que dans leur contenu.
Dans ce cas là, Flash est en effet excellent, mais ces sites sont souvent des vitrines du potentiel du développeur, ils seraient très difficiles à vendre à un client.
Roné > Regarde le code généré par le Javascript sur ton blog (avec Firebug par exemple), tu verras que ce n'est pas très light
alban > Ah évidement, si on cumule Linux et 64bits ça devient compliqué (oups c'est aussi ma config :D )
"Flash n'est pas selon moi, un format adapté à d'autres usages que ceux auxquels il est actuellement employé (vidéo et son), et il ne le deviendra pas".
OLOLOLOL
ahah et la gestion (de la vraie) 3D en javascript c'est pour quand ?
http://www.uselesspickles.com/trian...
<= ça me direz vous, mais c'est qd meme vachement moins bien que ce que peut faire (et ce que pourra faire) flash.
Après ca dépends si tu veux faire de l'évennementiel ou des boutique en ligne, de l'emotionnel ou du contextuel.
D'abord merci l'ami John pour cet article qui a au moins le mérite de mettre le doigt là ou ça fait mal (qui a dit dans l'anus?)
D'abord il faut resituer le contexte : à l'origine il s'agit de comparer Flash et Ajax, et non d'établir une liste des défauts (reconnus) de Flash. En ce qui me concerne, Ajax est dépendant de la plate-forme (OS + navigateur) et c'est un handicap qui pour l'instant me suffit à ne pas m'intéresser à cette techno. Je ne conçois pas une seconde l'idée de faire un script différent pour chaque navigateur.
Parlons accessibilité pour commencer. Prends NetVibes. C'est une bouillie de script, ça ne valide pas, ce n'est pas conforme aux WCAG.
Et ce n'est pas un reproche, NetVibes est une appli géniale qui me sert tous les jours. Ce que je veux dire c'est que clairement, sur l'accessibilité, Ajax et Flash sont sur un pied d'égalité. Ces deux technos ne sont tous simplement pas matures sur ce point pour le moment. Ca viendra. Le mec d'Opquast (projet hautement respectable), a une position juste pour ce qui est des sites de contenu, c'est une position intenable sur des projets applicatifs.
sIFR ensuite. Tu vois ça avec tes yeux de développeur et c'est vraiment dommage. Des belles polices c'est "joli tout plein" et c'est aussi précisément ce que ton client te demande. Si des grafeux, des DA, des typographes on choisi telle police pour pour le print, c'est pas pour voir une Verdana dégeu sur le site de l'annonceur. Et là, désolé, mais Flash est la seule et unique alternative. Il était question, à l'époque de l'apparition des CSS, de la possibilité d'encapsuler des polices à une page html. Ca n'a jamais abouti. Dommage. Flash, point barre.
Je n'aime pas non plus les formats propriétaires, mais je fais avec. Tout simplement parce que Flash :
- est irremplaçable dans certains domaines (la vidéo, le son, la 3D, effectivement, mais aussi le jeu, les RIA)
- remplace avantageusement Javascript/Ajax dans beaucoup des cas.
Sur ce, je t'invite à apprendre l'AS, qui est un vrai langage de script bien viril et bien burné, en installant MTASC avec ton Eclipse, sous Ubuntu, et comme ça tu faire du Flash sans utiliser le moindre logiciel propriétaire.
Voilà. Prout. J'ai plein d'autres trucs à dire, mais plus tard.
Ah tiens, autre chose.
"(...) ces sites sont souvent des vitrines du potentiel du développeur, ils seraient très difficiles à vendre à un client."
Tu te trompes :
http://www.nike.com/nikeair/us/
http://www.evenements-playstation.c...
http://www.coca-colablak.fr/
Et y'en a des tas d'autres !
Nerik tu places en exemple un site de pompes, et rien que pour ça je te félicite.. hahaha.
Ok.
Plus sérieusement, quand je lis vos commentaires je suis d'accord à la fois avec l'un et avec l'autre. C'est bateau ce que je vais dire, mais tout dépend de ce que tu veux en résultat pour choisir un langage. Pour moi ce genre de débats c'est un peu du pipi de chat =)
Flash (aujourd'hui), c'est bien, Ajax c'est bien aussi.
Vive le code.
.W.
"tout dépend de ce que tu veux en résultat pour choisir un langage"
Absolument d'accord. Mon propos c'était simplement :
- le choix d'Ajax pour des applis dites "web 2" est systématique
- c'est dommage, Flash est souvent mieux adapté.
- Flash à trop la classe, je vous emmerde, et je rentre à ma maison.
Faut que je t'amène à Guerrisol tu va kiffer
Et bien voilà !
Ça a pris un peu de temps, mais cet article a finalement parfaitement rempli son rôle, faire réagir et débattre autour de la légitimité de Flash selon les situations.
Finalement je me rends compte que j'ai eu la main un peu lourde dans certains cas.
Pour le SIFR : Effectivement je regarde le problème avec un oeil de développeur et parfois le client peut réclamer une police un peu funcky, et je ne suis pas forcément contre.
De plus la dernière version se dégrade assez bien si le javascript est désactivé ou que le plugin flash n'est pas installé.
Toutefois la technique souffre encore de problèmes d'accessibilité par un lecteur d'écran si flash est installé et javascript activé (ce qui est régulièrement le cas).
Pour les sites que j'appellerais "expérimentaux", je m'étais effectivement trompé, les exemples sont nombreux, et il est clair que ceux ci font régulièrement usage de la vidéo et que donc il est difficile de faire autrement.
Pourtant, on verra dans un billet à venir que cela va peut être changer rapidement.
Par contre pour ce que j'appellerai l'applicatif, je n'en démords pas, Flash n'est pas adapté.
Les raisons principales étant celles déjà citées dans l'article : non pérennité du format (on refait l'application toutes les 3 versions de flash ?), lourdeur, et non indépendant de la plateforme. (on citera l'exemple des députés qui passeront à la rentrée à un système d'exploitation libre, sur une architecture Linux, où le plugin flash est distribué une fois sur deux et dans des délais inavouables.)
Je veux pas paraître lourdingue mais le débat me parait vraiment intéressant. Donc, je vais encore te contredire :-).
- pérennité : la v9 du player lit sans problème un anim en Flash 3 faite en 98. La retro-compatibilité est et sera toujours assurée par Adobe pour des raisons commerciales évidentes. Maintenant, Flash est une techno qui évolue vite, l'AS est un langage qui évolue vite, et c'est bien. Et ça ne t'oblige en rien à modifier ton code à chaque release de Flash. A titre de comparaison, quand pourra-t-on utiliser les CSS 3?
- lourdeur : s'il s'agit de la lourdeur pour l'utilisateur, tu as partiellement raison. La machine virtuelle de Flash est lente, en partie buggée, et consomme énormément de ressources. Ca s'arrange un peu avec l'AS3, mais c'est pas encore la fête. Par contre s'il s'agit de la lourdeur côté développeur, à mon avis les temps de développement vont du simple au double pour une même appli en Flash et en Ajax.
- portabilité : faux et archi faux, Flash a l'avantage. Sauf erreur, le player 9 est dispo pour Linux (et l'a été en même temps que pour Windows). Après je suis une bille en linux, apparement y'a problème avec les versions 64 bits, mais tu conviendra que ça concerne un micronième des utilisateurs (dont certains sont du genre à utiliser Lynx, haha, je suis de mauvaise foi). L'avantage d'utiliser une VM est justement la force de Flash, car tout comme Java le code est indépendant de la plate-forme.
Maintenant parlons d'Ajax... Dans ma boîte, une appli utilisant les fameuses XMLHttpRequest a été développée en 2001, avant même que l'on parle d'Ajax. Pourtant, techniquement, il s'agit bien d'Ajax. A l'époque, la question du navigateur ne se posait même pas puisque grosso modo il n'y avait que IE sur le marché. Aujourd'hui, en 2007, la hotline est submergée d'appels d'utilisateurs de Firefox, pour qui l'appli ne fonctionne pas, puisque le code JavaScript a été développé avec les spécificités tordues d'IE. Résultat : les hotliners demandent aux clients de repasser sous IE. Belle victoire de la "portabilité", en effet.
Alors évidemment, tu pourra me rétorquer que c'est de la faute de Microsoft. C'est vrai. Mais qui peut dire où en sera le marché des navigateurs dans 5 ans ? Faudra-t-il réecrire toutes nos applis Ajax ? Peut-être. Ce qui est sûr et certain c'est que nos applis Flash tourneront toujours sans problème sur le player 12 (13, 14 ?)
Pour conclure, le gros défaut de Flash est, en effet, son format propriétaire; je suis convaincu que c'est ce qui limite aujourd'hui son succès.
Je suis prêt à parier que le format Flash va s'ouvrir relativement vite. Après tout, Adobe vend un IDE, bien plus qu'un format ou qu'un compilateur (puisque des compilateurs Flash open source existent déja).
Nerik tu est beau lorsque la flame de la passion embrase ton regard en une corole d'étincelles flamboyantes !
C'est vrai qu'il est beau Nerik, mais qu'est ce qu'il est têtu :-P
Bon trêve de plaisanterie, cet article était en effet destiné à faire réagir et cela a fonctionné mais ce n'est pas une raison pour que ça stoppe.
Tu as donc tout à fait raison de relancer le débat, et je vais encore utiliser mon droit de réponse.
Effectivement Flash assure pour l'instant la rétro compatibilité mais rien ne les y oblige et si demain pour intégrer un truc un peu puissant (une vrai 3D par exemple ?), il devait toucher au coeur de la chose et casser cette rétro compatibilité, rien ne leur interdit.
Pour la lourdeur, je pensais effectivement au coté client en écrivant mon précédent commentaire.
Toutefois ta comparaison Ajax-Flash est tirée par les cheveux, Ajax seul ne fait rien mais utilisé avec les bons outils (un bon framework comme Symfony ou RubyOnRails), il devient très rapide à utilisé et très puissant. D'autant plus qu'à l'autre bout de la chaine, ces outils gèrent de manière révolutionnaire et vraiment rapide les interactions avec la base de données là ou Flash devra passer par une tierce technologie (XML+PHP par exemple).
Ta comparaison sur le temps de développement est donc à mon avis à revoir.
Pour ce qui est de la portabilité, j'insiste sur la médiocrité de celle ci.
Le plugin Flash est réellement disponible une fois sur deux sous Linux (la version 8 n'as jamais vu le jour, soit 4 ans sans mise a jour du Flash Player sous Linux) et les délais sont vraiment inavouables(la version 9 à été disponible sous Linux en Beta en octobre alors qu'elle l'était depuis déjà très longtemps sous Windows).
Tu parlais de la machine virtuelle java, celle ci est disponible dans sa dernière version, en 32 comme en 64 bits pour un nombre de plateformes affolant.
De plus la prochaine version sera libre !
Pour ce qui est de la portabilité d'AJAX, elle était effectivement inexistante en 2001 puisque l'objet XMLHTTPRequest était propriétaire.
Mais les chose en changé et les grand acteurs de cette technologie ont crée un organisme chargé de la standardisation d'AJAX à savoir OpenAjax, et vu les noms présents (Mozilla, Eclipse, Google, IBM, Oracle, Microsoft...) j'ai confiance en la chose.
Enfin tu conclues sur une possible ouverture de Flash, et bien je la croit également possible (le projet Tamarin le prouve), et cela changerait réellement beaucoup de chose, et en bien pour Flash.
Je serais surement forcé de m'y mettre
Mais sinon, z'êtes plutôt slips ou caleçons?
Attention, pour le sIFR, tu mélanges un peu tout... Au niveau html, un titre sIFR, c'est par exemple <h1>Titre</h1>, c'est tout. C'est via le javascript que le code est modifié comme dans ton exemple. Le code html, pour peu qu'il le soit à la base, reste parfaitement sémantique, léger et accessible. L'ensemble des fichiers composant le sIFR pèse moins de 40ko.
Certes mais le code lu par un lecteur d'écran est le code généré après l'éxécution du javascript non ?
Donc le code est assez simple a maintenir, mais il n'est pas pour autant accessible.
Mike Davidson responded, “…the document is not even touched unless the correct version of Flash is detected. I’d assume (perhaps wrongly), that computers equipped with screen readers would intentionally not have Flash installed, so this should be a non-issue”.
Il est amusant de voir que tout le monde utilise les mêmes ressources pour se documenter.
J'avais également vu cet article mais également celui ci :
http://www.blog-and-blues.org/weblo...
Enfin bon, le SIFR n'ai surement pas la pire utilisation de Flash, mais attention quand même.
plutôt caleçons.
Je profite de mon passage ici pour relever quelques points :
- jblanche:
Pour ce qui est de la rétro compatibilité, Adobe ne risquera pas de se mettre à dos une bonne partie des développeurs (et des utilisateurs) de Flash en la faisant sauter.
Le player 9 par exemple (dernier en date), s'est vu offrir une seconde machine virtuelle pour exécuter les swf développés en ActionScript 3. Les anciens swf eux, continuent d'être interprêtés par l'ancienne, et la rétro compatibilité est assurée.
Si demain Adobe décidait de revoir encore une fois sa copie, en intégrant des modifications lourdes comme le support de la 3D, il y a fort à parier que le prochain player disposerait d'une troisième machine virtuelle, etc.
Flash est devenu beaucoup trop populaire pour qu'Adobe puisse se permettre de ne pas assurer cette compatibilité. D'autant plus que beaucoup développent toujours en ActionScript 1, et qu'il faudra à mon avis un certain temps avant que l'AS3 s'impose réellement.
Pour ce qui est des versions linux, Adobe a promis qu'ils ne reproduiraient plus l'erreur commise à l'époque du player 8.
Quant au gain de temps au développement, il est également bien présent, peut être pas au niveau de la communication php/flash (encore qu'il existe des outils pour faciliter énormément la chose ^^), mais au niveau du design par exemple. Un développeur Flash gagne également un temps incroyable en ne se souciant pas des problèmes de compatibilité d'un navigateur à un autre, ce n'est pas un point négligeable =)
Il faut aussi noter le fait que les swf ne "vieillissent" pas, comme cela peut être le cas pour un site xhtml/css lorsqu'un navigateur modifie son interprêteur JS ou son moteur de rendu (exemple: les hack css pour IE6 ne fonctionnant plus sous IE7. ... Bon ok, c'est des hack, mais c'était assez utilisé, et ce n'est qu'un exemple ^^) Ca facilite d'autant la maintenance du site.
- el tonio :
Pour ce qui est des sites applicatifs, Flex et son MXML permettent surtout de gagner énormément de temps en créant très simplement des RIA utilisant des contrôles avancés.
Encore faut-il en avoir réellement l'utilité, sinon c'est sûr qu'AJAX sera plus adapté, mais il ne faut pas rejeter le truc en bloc ^^
- Kensei :
"ahah et la gestion (de la vraie) 3D en javascript c'est pour quand ?"
Flash non plus ne sait pas faire de "vraie" 3D, pour l'instant c'est que du rendu software... et ça fait bobo au processeur =)
(Malgré les apparences je suis pas un militant du "tout flash", loin de là, je précise au cas où ^^)
N'oublions pas le but initial de Flash : produire des animations.
Ce sont les dernières évolutions d'ActionScript qui ont orienté Flash vers de l'applicatif. Une chose est sûre, c'est que lorsqu'un client pense "Flash", il pense "animation". Et, jusqu'à preuve du contraire, on n'a encore pas fait mieux que Flash dans ce domaine.
Je ne sais pas si vous connaissez le SMIL: Synchronized Multimedia Intergration Language. Language à balises développé par le W3C qui permet aux développers Web de diviser le contenu multimédia en fichiers et/ou Fluxs (audio, vidéo, texte et images) séparés, de les envoyer séquentiellement ou paralèllement et de les faire ensuite afficher à l'écran ensemble, comme s'ils étaient un seul flux multimédia. Proche du XML, ce language pourrait être une solution dans l'intégration de son et vidéo. Les problèmes d'accessibilité pourront alors être solutionnées par l'ajout de texte (pour les non-entendant) ou une bande son suplémentaire (expliquant la vidéo à un non-voyant)
Le problème, c'est que très peu de lecteur le supporte (pour l'instant...)
Je connais mais comme tu l'as toi même énoncé, son faible déploiment condamne un peu la techno pour l'instant.
Pas trop d'accord. Je ne suis fan de flash mais c'est idiot et pas très pro de passer à côté.
FLASH est incontournable tout comme AJAX et JS d'ailleurs.
Il le deviendra de plus en plus, si le reproche est la complexité du code (comme Sifr) : je ne vois pas ou est le probleme, c'est pas fait pour être lu....
Le coté apllicatif fonctionne très bien.
Avantages du flash :
- légèreté des animations (vectorielles)
- applications type Ajax
- lecteur multimedia très complet
- intégration des polices utilisées
- Tout le monde a flash player aujourd'hui
(si c'est pas le cas pour certains internautes, ce ne sont pas vraiment les cibles que les webmasters recherchent non ?)
- et surtout Flash nous a fait oublier ces horribles GIF animés... amen...
Les problèmes de compatibilité Flash/JS sur Firefox proviennent du développeur du site pas de cette technologie. Les particularités FireFOX et IE sont à prendre en compte (on peut toujours faire 2 cas) et ces problemes été déjà présent même sur le fichiers CSS.
@boub : Je ne sais pas si tu as lu tout les commentaires mais je modère déjà quelque peu mon propos dans ceux-ci.
Sinon pour revenir sur tes dires :
Q : Si le reproche est la complexité du code (comme Sifr) : je ne vois pas ou est le probleme, c'est pas fait pour être lu....
R : Si et de plus en plus, les premiers lecteurs ce sont les moteurs de recherches et de plus en plus les autres applications "liront" ton code => Microformats, WebServices...
Q : Tout le monde a flash player aujourd'hui
R : Non pas l'iphone, pas la majorité des téléphones portables (j'ai déjà parlé de flash lite...)
et pas toute l'informatique embarquée qui débarque partout sur des architectures pour lesquelles le player flash n'est pas fourni (http://www.blogbangbang.com/post/20...)
Q: Lecteur multimédia très complet
R : Limité au formats et protocoles Adobe => Un seul et unique protocole de streaming (rtmp), pas ouvert.
Q : Applications Type Ajax
)
R : Là on se rapproche de Flex qui s'oriente de plus en plus vers le libre et c'est un bon point (reste plus qu'à le libérer vraiment
PS : Je suis sévère mais ca n'empeche pas que flash reste comme tu dis incontournable et qu'il ne serait pas pro de passer à coté (d'ailleurs je code beaucoup d'AS3 dernierement), mais j'aimerais bien qu'il le soit de moins en moins (incontournable) au profit de solutions libres et véritablement multiplateformes...
moi j'aime bien ce qu'on peut faire avec flash player néanmoins sur linux je n'utilise que mtasc sans aucun autre adjuvant .( si quelques classes version 8 et 9 )
c'est assez difficile je vous l'accorde mais j'ai du mal à accepter les grosses usines à gaz
j 'ai été aussi frappé par l'accueil des développeurs flash qui vous prennent de haut
parce que vous n'utilisez pas flex, flash, flames eclipse etc ...
c'est vrai que je suis débutant et que j'ai pas mal de difficultés mais je m'accroche
c est vrai que j'ai commencé en assembleur sur des grosses machines qui sont parties à la ferraille et que mon premier ordi n'avait que 256 octets
Je ne suis encore qu'un petit excrément dans le web design, et je comprend pas pourquoi (que ce soit dans le graphisme ou le web design) un bon nombre d'anciens ont souvent du mal avec les logiciels récents et veulent a tout prix les discréditer voir même de les exterminer de nos écrans.
Surement une frustration conservatrice ou une nostalgie gangréneuse pour les logiciels qu'ils voient disparaitre peu à peu..
Ceci dit les arguments sont plutôt pertinents même intéressant, mais desfois ça part super loin et ça fait sourire parce qu'ils se donnent du mal quand même.
JE NE PARLE PAS QUE DE CE BLOG t'inquiètes
Ouf je sais que le Web va vite mais si à 23ans je suis un ancien, ca me tirerais presque une larme
Non plus sérieusement, je n'ai rien contre le récent, je plébiscite pour les Microformats, le SVG, HTML5, le web sémantique ... ....
J'ai juste un peu de mal avec le web que certains aimerais "maitriser" avec Flash/Flex ou Sylverlight par exemple.
Pourtant je suis bien obliger d'avouer que de nombreuses situations obligent encore à l'utilisation de celles-ci (animation, 3D, RIA/RDA avancée...).
Je ne fait donc que souligner les faiblesses et les risques à s'engager dans ces technos en espérant voir des technos libres les concurrencer (pour le son et la vidéo, par exemple, tout ceci arrive a grand pas grâce à HTML5)
Fil des commentaires de ce billet