Il y a eu beaucoup de querelles à propos de HTML5 récemment. Beaucoup de gens pensent que l'émergence de HTML5 va tuer Flash instantanément, de sorte qu'il y a beaucoup de querelles dans les principaux forums de développement Web front-end. Quelques mots sur le forum n'ont pas suffi à me satisfaire, j'ai donc dû en parler sur mon propre tiers d'acre de terrain. Soyez également un bâton magique et attendez avec impatience l’avenir du développement web front-end. Tout d'abord, le HTML5 mentionné ici ne fait pas seulement référence au HTML5 lui-même, mais fait généralement référence à l'ensemble de la technologie frontale Web incluse dans HTML5, CSS3, JavaScript et les nouvelles API du navigateur.
Qui a besoin de HTML5 ?
Google en a le plus besoin ! Apple Jobs l’exige également. Mais ces deux-là ont définitivement leur propre agenda. Cela n'a pas d'importance pour Microsoft, ils ont toujours Silverlight de toute façon.
Mozilla/Firefox, une organisation à but non lucratif, pourrait avoir un objectif plus noble et soutenir les normes w3c. La part de marché des navigateurs d'Opera est si petite qu'on n'y a probablement pas encore beaucoup réfléchi.
L'empire du cloud computing de Google manque d'un client prenant en charge les applications Internet riches RIA (Rich Internet Applications). Imaginez simplement que lorsque HTML5 deviendra populaire et que de plus en plus d'applications se tourneront vers le mode BS, l'environnement écologique des logiciels de bureau de l'empire Microsoft sera grandement menacé. Google, convoité depuis de nombreuses années, doit en être le plus grand bénéficiaire. Lorsque vous pourrez utiliser Google Doc gratuit avec des fonctions similaires à MS Word sur un ordinateur doté d'un système d'exploitation gratuit, paierez-vous toujours pour Microsoft Word ? Allez-vous encore dépenser de l’argent pour un système d’exploitation alors que tout ce dont vous avez besoin pour vos applications bureautiques est d’ouvrir une fenêtre de navigateur ? L'interface du système d'exploitation Chrome OS de Google illustre déjà cette intention.
Jobs a également besoin de HTML5. Il a un petit calcul. Il souhaite que le navigateur prenne en charge nativement la vidéo et l'audio, afin que l'iPhone et l'iPad n'aient pas besoin d'intégrer Flash. Bien entendu, Jobs ne peut pas autoriser l'inclusion de Flash dans le système d'exploitation de l'iPhone. Sinon, qui achètera les jeux dans l’App Store ? Dans le même temps, si un grand nombre d’applications peuvent être implémentées sur la base des navigateurs, les utilisateurs ne seront pas limités aux applications de bureau Windows. Qui n'aime pas un bel ordinateur Mac.
Ils ont choisi HTML5 pour de plus grandes ambitions, espérant que HTML5 apporterait des changements dans l'ensemble de l'écosystème logiciel tout en évitant Flash, qui n'était pas sous leur contrôle.
Macromedia, puis le leader Adobe, ont compris les besoins de développement des applications Internet et ont continuellement amélioré Flash, le rendant ainsi au-delà des fonctions du navigateur lui-même. Les principaux fabricants de navigateurs ont également vu la demande pour ce type d'application et ne se contentent pas d'une fonction qui devrait être implémentée par le navigateur. Ils l'ont implémentée avec un plugin de plusieurs mégaoctets, et il est devenu populaire. Nous n'avons donc ménagé aucun effort pour promouvoir HTML5 et ciblé Flash.
Les utilisateurs veulent-ils du HTML5 ? Ce que veulent les utilisateurs, ce n’est pas la technologie, mais les applications et l’expérience. Si vous pouvez utiliser Ajax pour implémenter une ferme heureuse, je ne pense pas que quiconque se souciera de savoir si elle est composée de Flash.
Les développeurs veulent-ils du HTML5 ? Cela nécessite un environnement de développement HTML5+CSS3+JS mature, et chaque navigateur doit offrir une expérience utilisateur unifiée, c'est-à-dire une compatibilité totale avec les standards. De nouveaux coûts d’apprentissage doivent également être ajoutés.
Avantages de Flash ?
En quoi Flash est-il meilleur que HTML5 ? Performances, fonctionnalités ? Et si HTML5 avait un DOM similaire à tous les objets intégrés dans Flash, ainsi qu'une accélération GPU 2D et 3D, ce n'est pas impossible, après tout, HTML5 n'est encore qu'une ébauche ? Bien entendu, Flash peut également être mis à jour en permanence.
groupe de développement
Je pense que l'avantage de Flash réside dans les développeurs.Après plus de dix ans d'accumulation, de nombreux excellents artistes, programmeurs et concepteurs interactifs se sont concentrés sur le développement de médias interactifs sur la plateforme Flash. Il a également permis à d'innombrables bibliothèques de classes d'avoir des versions AS, telles que FLARToolKit, Touchlib, OpenCV et d'autres bibliothèques C++ pour l'interaction et l'analyse d'images, qui ont été transplantées sur la plateforme Flash. Il existe un framework Flex relativement mature et open source pour les applications RIA. De plus en plus d'entreprises tentent d'utiliser Flex pour remplacer les frameworks Ajax tels que Ext afin d'offrir aux clients une meilleure expérience d'application RIA.
développement durable
FlashPlayer est un système fermé, contrôlé exclusivement par Adoeb. Par rapport au standard ouvert HTML5, c'est une faiblesse, mais aussi un avantage technique. Il peut être très flexible et pouvoir ajouter de nouvelles technologies et de nouvelles fonctionnalités à tout moment. HTML5 est un standard ouvert puisqu'il s'agit d'un standard, cela signifie qu'il ne changera pas fréquemment. Les améliorations et mises à niveau Flash nécessitent uniquement que les utilisateurs mettent à niveau le plug-in FlashPlayer, et les mises à niveau des plug-ins sont légères par rapport aux utilisateurs. Les améliorations des normes HTML impliquent une mise à niveau des navigateurs, ce qui est une opération relativement lourde pour les utilisateurs, d'autant plus que de nombreuses personnes ne comprennent toujours pas ce qu'est un navigateur.
Une fois le standard ouvert HTML5 finalisé, il aura un long cycle de vie. Il s’agit d’une fonctionnalité suffisamment avancée aujourd’hui, mais ce sera dans dix ans. Tout comme lorsque nous utilisions HTML4+CSS2+JS et que nous étions complaisants et pensions qu'il suffisait d'exprimer des applications Web, qui aurait pu imaginer le monde ouvert par l'amélioration continue de Flash aujourd'hui. Peut-être que dix ans plus tard, nous devrions à nouveau discuter du sujet de la mort de Flash par HTML6.
Au-delà des applications Web
Si SUN pouvait s'intéresser aux applets Java à l'époque, il n'y aurait peut-être pas de Flash aujourd'hui et SUN ne serait pas en mesure d'être acquis. Et maintenant, Adobe AIR a permis à Flash de surpasser les applets Java, permettant ainsi à Flash de surpasser le Web et de s'éloigner du navigateur. Les fonctions de Flash n'ont cessé d'être améliorées jusqu'à aujourd'hui et, dans le domaine du multimédia, il compresse également constamment l'espace applicatif de son grand frère Director. La réalisation du multi-touch, de la reconnaissance faciale, de la synchronisation des communications Socket, de la réalité augmentée AR, de la vidéo en temps réel et d'autres fonctions sur la plateforme Flash a conduit à de plus en plus de projets multimédias interactifs utilisant des solutions Flash.
J'espère qu'Adobe continuera d'étendre les capacités de la plate-forme Adobe AIR et d'améliorer ses performances. De plus en plus d'applications de bureau multiplateformes peuvent être implémentées sur AIR.
Inconvénients de Flash ?
Les droits d'auteur de FlashPlayer sont privés.
Le contenu des fichiers swf est relativement fermé et peu convivial pour les moteurs de recherche.
Risques de sécurité des plug-ins.
Par rapport à la courbe d'apprentissage et au coût d'apprentissage de la technologie Ajax.
FlashPlayer 94 % de taux d'installation ! = 100 %.
iPhoneOS ne prend clairement pas en charge Flash, et les commandes d’iPad de 120 000 premiers jours devraient ouvrir un grand marché.
L'accélération matérielle 3D n'est pas prise en charge. Si FlashPlayer prend en charge l'accélération matérielle 3D, il réécrira définitivement le moteur vectoriel 2D existant. Compte tenu des performances de ShockWave 3D, il est difficile pour le matériel FlashPlayer 3D d'avoir une bonne expérience utilisateur.
Par quoi HTML5 remplace Flash ?
Fonction : HTML5 n'est encore qu'un brouillon. À en juger par le contenu soumis, de nombreuses autres balises sémantiques ont été ajoutées. Si le navigateur est comparé à un grand lecteur Flash, HTML5 n'est rien d'autre. de nouvelles classes et de nouvelles API. Ces API sont ensuite appelées par JavaScript. Si HTML5 doit remplacer complètement Flash, il doit au moins fournir des fonctions similaires à Flashplayer10. Cela ne devrait pas poser de problème. En ajoutant WebSocket, WebSQL, WebGL... ou même WebQt, WebMFC peut être infiniment imaginatif. Ou transformez simplement le navigateur en une grande machine virtuelle pour répondre au souhait de Java en matière de bureau. Rien de tout cela ne pose de problème si la dynamique de la demande est suffisante.
Performances : dans de nombreux articles rédigés par des radicaux HTML5, ils soulignent tous que l'inefficacité actuelle de Flash provoque des plantages de navigation. Flash est-il vraiment si inefficace ? Certainement pas, cela est simplement dû à l'abus de Flash et à des développeurs front-end Web inégaux. De même, si vous utilisez le moteur JS d'IE pour écrire une version Ajax de la ferme XX et si toutes les animations publicitaires des pages sont écrites en JS, je pense que cela serait appelé inefficacité. Si Flash est vraiment inefficace, pourquoi tant de jeux Web ne sont-ils pas créés avec Ajax ? Pourquoi de nombreuses scènes de jeu Flash3D bien optimisées sont-elles très fluides, mais une ferme 2D XX peut ralentir votre Core 2 ? Les développeurs mal informés et mal informés attribuent toujours le manque de réponse et les plantages du navigateur à l'inefficacité de Flash. Par conséquent, si HTML5 veut remplacer Flash à l’avenir, il doit disposer d’un moteur de rendu graphique et texte 2D/3D efficace et d’un moteur JavaScript efficace. Cela peut apporter une meilleure expérience utilisateur. Tous les fabricants de navigateurs sont-ils prêts pour cela ? Chrome et Opera semblent suivre cette voie.
Compatibilité : Le standard HTML4 existe depuis plus de dix ans, et aujourd'hui nous noterons également le nom du style CSS de fxckIE6. La compatibilité des navigateurs sera le plus gros problème, notamment HTML5 et CSS3 après l'ajout de nombreuses fonctionnalités. Comment les grands derrière IE, Firefox, Chrome et Safari se coordonnent-ils ? Il y a ici une contradiction. Pour développer des produits différenciés, il faut assurer des fonctions homogènes. Les performances JS, la navigation par onglets, les collections synchronisées, les plug-ins et autres fonctions qui améliorent l'expérience utilisateur sont autant de domaines de différenciation. S'il existe à nouveau quelque chose comme ActiveX qui est uniquement IE, il serait préférable de conserver la méthode HTML4 inchangée.
Modèle de développement : Flash IDE rassemble d'innombrables artistes, concepteurs d'interface utilisateur et concepteurs de programmes interactifs exceptionnels pour finalement réaliser Flash. Cela est également lié à l'attrait de Macromedia et d'Adobe dans les groupes de conception graphique et de conception interactive. L'interaction HTML5 amènera JavaScript à un nouveau niveau, ce qui nécessitera certainement un environnement de développement mature. Continuer DW+Firebug ? Ou DW sera mis à niveau vers un nouvel IDE de développement interactif HTML5, ou Microsoft VS le fera, ou Eclipse ? Seul un environnement de développement mature peut rassembler les talents, stimuler une créativité sans fin et apporter plus de contenu. Un contenu riche attire naturellement plus d’utilisateurs.
Déploiement : C’est la question la plus importante. Sans cette étape, tout est nul. Comment déployer la nouvelle version de Flash ? Il est possible de mettre à jour le plug-in sur la base de plus de 90 % de partage de bureau. Comment déployer HTML5 et mettre à jour le navigateur, c'est un peu difficile, jetez un œil au tenace IE6. J'ai entendu quelqu'un suggérer que Microsoft inclue les mises à jour d'IE dans le système ServerPack. Je peux seulement dire que cette idée est bonne, mais le marteau antitrust va définitivement tuer Microsoft. Alors, comment guider les utilisateurs dans la mise à niveau de leur navigateur ? Ce n'est pas un problème pour les "utilisateurs principaux" d'Internet. Actuellement, de nombreuses personnes utilisent la version de développement de Chrome qui prend en charge certaines fonctionnalités de HTML5 et CSS3. Mais ces « utilisateurs légers » ne comprennent peut-être même pas la relation entre la fenêtre qu'ils utilisent pour lire les pages Web quotidiennement et le navigateur. Cela nécessite une application HTML5 tueur pour le guider. Les "utilisateurs légers" ne mettront presque jamais à niveau le navigateur en fonction de la technologie, ils le feront uniquement en fonction des besoins de l'application. Par exemple, YouTube ne prend plus en charge les utilisateurs d'IE6, donc les utilisateurs qui aiment les vidéos YouTube passeront à IE6 avant de revenir. Les utilisateurs ne choisiront pas de mettre à jour IE6 en raison de sa mauvaise compatibilité avec les standards HTML. C'est inévitable. Alors, où est l’application phare du HTML5 ? Ou ont-ils tous l’influence et l’attrait de Youtube ? Et pour un site Web sans un tel attrait, qui prendrait l’initiative de prendre en charge HTML5 et d’exiger que les utilisateurs mettent à jour leur navigateur ? Ces sites Web tomberont inévitablement dans le dilemme du prisonnier, et dans le dilemme du prisonnier répété, le jeu se joue à plusieurs reprises. Enfin, nous entrerons pleinement dans l’ère HTML5. Ce processus peut être court ou long. Après tout, le front-end Web existant n’a pas atteint le point de s’effondrer, mais c’est grâce aux performances impressionnantes des plug-ins tels que Flash et des frameworks JS tels que jQuery.
Résumer
HTML5 ne constitue pas un besoin urgent pour les applications des utilisateurs, mais plutôt un besoin stratégique pour les fabricants qui tentent de changer le paysage écologique des logiciels.
Au vu des performances passées des principaux navigateurs, la compatibilité du HTML5 reste à voir et il n'est pas opportun de migrer les applications immédiatement.
HTML5 nécessite un environnement de développement mature et complet, que le navigateur Notepad + ne peut pas gérer.
Avec l’explosion des fonctionnalités HTML5, le navigateur doit disposer d’un moteur graphique et d’un moteur de script efficaces.
HTML5 a besoin d'une application géniale pour attirer et guider les utilisateurs dans la mise à niveau de leurs navigateurs et, à terme, achever le déploiement des terminaux HTML5.
Flash est une technologie en constante évolution dotée d'une grande flexibilité. HTML5 ne peut pas remplacer complètement Flash, et de nombreux développeurs n'abandonneront pas complètement Flash.
J'espère qu'Adobe AIR pourra mieux se développer, afin que Flash puisse surpasser les applications Web des navigateurs et couvrir les systèmes d'exploitation, avec un meilleur développement et davantage d'applications.
Texte/IT168