Thoughts on HTML

La sortie de la nouvelle app Facebook me ravi à bien des égards. En plus d’être bien plus fluide sur mon ipad, elle dévoile certaines choses sur la puissance réelle du moteur de rendu HTML sous mobile.

Il est curieux de constater que les pro-apple (j’ai aussi un ipad et un iphone et je développe également sous Xcode) s’accordent à dire qu’une application en WebView est un choix douteux et que le développement natif est à fortiori bien meilleur. Et de fait, je suis bien d’accord avec eux. Mais ne serait-ce pas avouer que le moteur de rendu HTML sous mobile (android et ios confondus) est trop peu performant ?

Après plusieurs semaines d’analyse et de tests en profondeur de HTML5, CSS3 et WebGL, par curiosité et non par obligation, je peux enfin affirmer de parole de développeur averti que, malgré quelques belles améliorations, cette technologie “imposée” par Steeve Jobs au détriment de Flash n’est pas vraiment à la hauteur.

WebGL ne fonctionne pas toujours sous mobile, les sites en HTML5 un peu sexy également et c’est toujours la croix et la bannière pour rendre un développement crossplatform.

J’ai également comparé les performances liées aux sites en HTML/CSS/JS : c’est une catastrophe… et pas que sous mobile d’ailleurs. La batterie en prend un sale coup, c’est lent quand le navigateur ne plante pas et les quelques effets pour imiter des animations SWF sont pitoyables… sans parler de la qualité des polices de caractères.

La “révolution” est en fait un gros retour en arrière avec des concepts souvent réutilisés à l’excès et bien en dessous de ce que le plugin d’Adobe peut proposer. Combien de sites HTML avec effets de transitions basiques ne voyons-nous pas débarquer et devant lesquels les gens s’extasient pour un simple tween sur un tag div… toutes ces choses que Flash 8, il y a 5 ans, faisait déjà en mieux et que Flash 11 aujourd’hui surpasse en tout.

Pour ce qui est du langage AS3 vs JS et du temps de développement, il n’y a pas photo non plus mais je ne vais pas m’attarder sur ce point trop long à débattre.

Si les détracteurs de Flash s’amusaient à dire que le plugin souffrait de problèmes de performances, il en est de même pour HTML/CSS/JS : si le projet est mal conçu, c’est désormais votre navigateur qui souffre de ces mêmes problèmes.

Au moment où les pseudo-geeks du développement web tuent Flash à coup de faux arguments sur des blogs pro-Steeve, je vois des clients revenir vers moi en disant : “On a essayé de réaliser un concept en HTML5, mais c’est trop lent et pas assez performant pour ce que nous devons faire. Et surtout, ça ne fonctionne pas sur nos iPad. Peut-on le faire en Flash et par la suite déployer une application mobile ?”.

Étonnant mais pas tant que ça.

Bien évidemment, il faut toujours analyser les besoins mais si le client se dirige vers une expérience promotionnelle avec des effets visuels conséquents, HTML/CSS/JS n’est pas la solution idéale et reste loin de l’être.

Désormais, voici la voie que je choisi pour contenter mes contacts :

  1. Développer le site en Flash 11, profitant de la puissance du GPU avec Stage3D et assurant une compatibilité sur toutes les plates-formes desktop en un seul développement.
  2. Porter le développement du site en application AIR pour Android et IOS.

Et c’est sur ce dernier point que je rejoins la sortie de l’application Facebook en application native. On nous a bassiné avec le fait que Flash ne pouvait être assez bon sous mobile… mais on se rend vite compte que les sites en HTML5 n’y sont pas assez performants également … et même inaccessibles la plupart du temps.

Dès lors, beaucoup font le choix suivant, tout comme je l’avais imaginé depuis la fameuse lettre ouverte de Steeve :

  1. Développer le site web, en Flash si c’est nécessaire.
  2. Développer l’application mobile correspondant au site web

On peut clairement et objectivement penser que les arguments contre Flash sont complètement bidons puisque presque tous les développements de contenu mobile se font en application native désormais. Promouvoir HTML5 à la place de Flash est une aberration puisque de toute manière c’est bien pire à développer pour un résultat nettement moins bon.

Flash a toujours sa place et reste incontournable pour des expériences “hautes en couleurs”.

Pas convaincu ?
Un simple exemple : Comment, chers geeks pro-HTML5, allez-vous créer une expérience comme celle-ci sur le web sans que ça ne vous coûte 5 fois le temps de la réaliser avec Flash et de la rendre crossplatform ?

http://www.nissan-stagejuk3d.com/

Pour rappel, pour ceux qui pensent que Flash est complètement enterré avec l’annonce d’Adobe de stopper le développement du plugin pour navigateur sous mobile :

  • AIR (Adobe Integrated Runtime) est bien présent et progresse rapidement et ingénieusement sur Android et IOS.
  • AIR 3, c’est Flash Player 11 pour application desktop et mobile.
  • Flash Player 11, c’est du Accelerated GPU, Native Processes et Native Extensions en plus de toutes les fonctionnalités qu’on connait déjà du plugin (Camera, Microphone, RTMP, ByteArray, Alchemy C/C++, Vector render engine, …)

Les Native Extensions permettent désormais l’accès à toutes les fonctionnalités de l’appareil mobile ou desktop et une application AIR est une application mobile ou desktop à part entière et complètement crossplatform.

Pour les développeurs front-end idolâtres, pseudo-créatifs et autres usurpateurs du web qui se font passer pour les hommes du futur, il faut bien répéter ceci :
Adobe a arrêté le développement du plugin du navigateur de votre smartphone ou tablette… et seulement du navigateur… mais pas le développement de Flash en lui même sous mobile… que du contraire.

http://labs.adobe.com/technologies/flashplatformruntimes/

Ce qui est fort triste dans cette guerre futile et dérisoire des technologies front-end, c’est l’incompétence des personnes qui jugent Flash sans réellement connaître.
Les personnes avec qui j’ai eu l’occasion de débattre ne connaissent Flash que par le petit banner interactif qu’on leur a demandé de développer et qui pensent pouvoir la refaire en Javascript.
D’autres en sont à comparer Flash et Director… C’est une sottise grossière et ceux qui pratiquent ce genre de comparaison n’ont jamais mis les pieds dans l’ actionscript et n’ont jamais développé la moindre expérience interactive digne de ce nom car ils n’en ont pas les compétences.

 

Un proverbe japonais dit ceci :

“Connaître la Voie de chaque métier, et non se borner à celui que l’on exerce soi-même.”
Miyamoto Musashi

 

Quelques liens :

http://www.adobe.com/be_en/products/air.html
http://www.adobe.com/devnet/air/air_for_ios.html

 

Quelques vidéos :

http://youtu.be/J6yrx8RYtCc

http://youtu.be/BYJi_yBMswE

1 comment

  • MrPoulet August 9, 2013

    1 an après cet article est toujours d’actualité.

Post a Reply

© 2012 CornFlex