La politique, malheureusement. Flash était/est supérieur à HTML5 dans presque tous les sens (expliqué ci-dessous), mais il y avait un certain nombre de facteurs non technologiques qui ont marqué le début de sa disparition. Voici quelques-uns qui viennent à l'esprit:
1) Annonces. C'est ainsi que la plupart des gens ont reconnu le contenu Flash. si c'était flashy et ennuyeux, c'était probablement Flash. C'était regrettable car ce n'était pas la technologie elle-même qui était le problème, mais l'utilisation de celui-ci. (Le fait que Flash ait été tellement utilisé pour ce type de contenu en dit long sur l'efficacité de Flash dans la création de ce type de contenu).
2) Sites/jeux Flash complets. Encore une fois, ce n'était pas tellement un problème avec Flash, mais ceux qui l'utilisaient pour créer le contenu. Souvent, les devs produisent du contenu sur des machines qui sont nettement plus rapides que celles de l'utilisateur moyen, et effectuent la plupart, sinon la totalité, des tests en local.
3) Le 1er iPhone était plutôt lent comparé à ceux qui existent aujourd'hui, et il était lent par rapport à la majorité des ordinateurs. Il n'est donc pas surprenant qu'une technologie spécialisée dans le multimédia, s'exécutant sur une machine virtuelle, puisse avoir des problèmes d'exécution sur un tel périphérique; Cependant, dire que ce serait de dire quelque chose de négatif sur l'appareil, et plutôt que de le faire, 100% de la responsabilité a été mise sur la technologie. L'expérience du consommateur moyen avec mes précédents points a facilité cette tactique.
4) Adobe a abandonné après avoir perdu la bataille de PR. Il y avait beaucoup de choses qu'ils auraient pu faire pour sauver Flash, comme: ne pas abandonner le support d'Android, ne pas abandonner le support de Flex, ne pas abandonner le support de Flash Builder, et ne pas ignorer la communauté d'ingénieurs Flash.Il n'y a aucune raison pour que l'iPhone ne puisse pas exécuter Flash aujourd'hui (et le faire fonctionner correctement), et il n'y a aucune raison pour qu'Adobe ne puisse pas créer un transcompiler pour convertir du contenu; Je l'ai déjà fait (flash api, support de la langue as3 complet, e4x, etc.), mais ce n'est pas encore open source. Si un ingénieur pouvait le faire, ils auraient certainement pu!
5) Publicité excessive des vulnérabilités Flash. Les vulnérabilités critiques sont toujours présentes dans les programmes, les navigateurs, les systèmes d'exploitation (oui, même OS X), etc. Mais en raison du mécontentement grandissant de Flash auprès du grand public, les problèmes rencontrés dans Flash étaient couverts comme si Flash était le seul programme cela exposait les gens à des vulnérabilités. Technologie: Est-ce/était Flash tech superior? Absolument, HTML5 était en fait un énorme pas en arrière, et voici pourquoi:
1) Flash était stable. Si vous aviez votre application à travailler, il serait presque garanti non seulement de fonctionner exactement de la même manière dans tous les navigateurs et systèmes d'exploitation, mais aussi de paraître identique. Vous voulez développer une application HTML5? Utilisez une bibliothèque javascript pour corriger toutes les incohérences de navigateur ou pour vous accomoder à un cauchemar de débogage. Donc, bien sûr, vous ajoutez cette couche d'abstraction, mais maintenant que se passe-t-il quand vous avez toujours un problème? Eh bien, maintenant vous devez creuser à travers cette couche ..
2) Flash/AS3 fait mieux. Voulez-vous avoir un texte parfait sur tous les appareils? Flash, oui. HTML5, non. Vous voulez des classes REAL, de la typographie, des vecteurs, des références faibles, des interfaces, des objets comme des clés, des espaces de noms, des variables privées, l'incorporation d'assets, etc.? Flash, oui. HTML5 .. bien qu'il soit possible de créer un langage de compilation vers JavaScript pour en retirer la plus grande partie, vous devez maintenant gérer cette sortie lorsque vous déboguez. Qu'en est-il des animations complexes, imbriquées? C'est facile à faire en Flash ... Bien sûr, les éditeurs peuvent produire l'équivalent en HTML5, mais la plupart ne seront pas diffusés comme Flash, et auront de sérieuses limitations par rapport à ce que Flash peut faire.
3) L'API Flash. L'API Flash était bien documentée, puissante et assez simple à utiliser. Comparez cela à la joie de rechercher en ligne en regardant les listes de compatibilité et les préfixes des fournisseurs pour HTML5.
4) todo ... il y en a un peu plus.
Le HTML5 n'est meilleur que parce qu'il est ouvert à 100% (et ce n'est pas un plugin, ce que les gens n'aiment pas). La spécification SWF est ouverte et il y avait un lecteur Flash open-source (le projet Tamarin); donc, ce n'est pas comme si Flash était complètement fermé comme certains le suggèrent; Personnellement, je voudrais échanger l'ouverture de HTML5 pour la stabilité et la cohérence de tous les jours. Cependant, si l'ouverture est notre principale préoccupation, alors on verrait probablement le retour en arrière dans la capacité et l'efficacité qui en valent la peine. BTW: En fait, j'écris tout mon code HTML5 et NodeJS dans Flash/AS3 et je compile en HTML5/JS. Je peux toujours utiliser Flash pour le débogage (et comme mon étalon-or si vous voulez), ce qui est fantastique ..
Parce que Flash est descendu dans les tubes. Manque de support sur mobile, temps de chargement lents, manque de SEO, etc. – epascarello
Ce n'est pas une question pour Stackoverflow. Flash sur le web est en effet maintenant un héritage, et il devrait être (pourquoi avoir un plugin d'un tiers exécutant un logiciel dans votre navigateur quand ce n'est pas nécessaire?). AIR est cependant toujours pertinent et vos compétences peuvent être utilisées ici. Pour la diffusion sur le Web, n'utilisez pas flash, trouvez un bon framework JS et utilisez-le (CreateJS/Pixie etc.) – BadFeelingAboutThis
ah, ouais, j'ai oublié de mentionner l'aversion générale des gens pour les plugins. Encore une fois, pas vraiment sur la langue ou l'ensemble de fonctionnalités que Flash fournit par rapport à HTML5. (remarquez aussi la suggestion d'utiliser un framework JS ... il n'y avait pas besoin de ça dans AS3, mais dans le développement JavaScript c'est à peu près un must) – user2800679