Pourquoi utilisons-nous toujours le DOM dans le navigateur plutôt qu'un paradigme de bureau

11

D'après ma compréhension, l'interface Web a été développée pour utiliser HTML car à l'époque il n'était pas possible de simuler une application de style bureau dans le navigateur, comme le fonctionnement de Silverlight et Flash, en raison des limitations de la bande passante et éventuellement de la puissance de traitement.

Pourquoi n'y a-t-il pas eu dans le passé, et le présent a été une plus grande acceptation et poussée pour des technologies comme Flash / Silverlight? D'après mon expérience, ils sont plus agréables à développer (bien sûr à mon avis), et vous n'avez pas à vous soucier de la compatibilité croisée des navigateurs et des navigateurs plus anciens (pour la plupart).

La gestion des publications, AJAX, etc. semble être un effort supplémentaire inutile par rapport au paradigme de développement des applications de bureau. Le DOM et ses technologies complémentaires complètent-ils principalement le fait que Silverlight / Flash nécessite une installation de plug-in et que certains appareils mobiles ne prennent pas en charge le plug-in?

The Muffin Man
la source
1
Parce que le DOM n'est pas un citoyen de seconde zone. Silverlight et flash sont des abstractions qui fuient. Vous pouvez facilement avoir des applications de bureau natives dans l'utilisateur du navigateur DOM. Il fonctionne simplement et s'intègre mieux que le flash ou le silverlight.
Raynos

Réponses:

17

Quelques raisons auxquelles je peux penser, du haut de ma tête:

  • La pile Web traditionnelle est assez mature de nos jours; les navigateurs modernes ont très peu de bizarreries, et la conception de sites Web pour eux est relativement agréable, par rapport à il y a seulement 5 ans
  • Bien qu'il existe des différences entre les navigateurs, elles sont moins pertinentes que les différences entre le système d'exploitation sous-jacent et le matériel
  • Le paradigme de demande / réponse fonctionne en fait très bien pour beaucoup de choses, telles que la présentation de contenu lourd en texte
  • Les moteurs de recherche ne sont pas vraiment intéressés par le contenu Flash ou Silverlight
  • Flash et Silverlight sont contrôlés chacun par une seule entreprise; les utiliser signifie que la future plateforme de support pour votre code est à la merci de ces entreprises
  • Beaucoup de choses que vous pouvez faire avec HTML ne peuvent pas être faites avec des plugins: pensez aux signets, copiez-collez, traduction à la volée, feuilles de style personnalisées
  • Les plugins ne fonctionnent pas bien avec les navigateurs non standard - pensez aux navigateurs de texte, aux navigateurs audio et à la large gamme d'autres appareils qui peuvent afficher des pages Web
  • Vous ne pouvez pas facilement automatiser les clients Flash ou Silverlight, tandis que la gestion de sites Web HTML à partir de scripts est généralement assez simple.
tdammers
la source
Une dernière chose à laquelle je peux penser: ces plugins ne sont pas open source. Et certaines personnes ne font tout simplement pas confiance aux choses, ce qu'elles ne peuvent pas faire git clone. Bien sûr, vous pouvez obtenir des versions open source, comme Gource ou Moonlight, mais elles ne sont pas vraiment entièrement compatibles.
Dr McKay
2
J'avais en fait pensé à l'argument open source, mais je ne pensais pas que ce soit un problème assez important, dans le monde réel (peu importe à quel point je suis fan de FOSS). L'argument «à la merci d'une seule entreprise» est en quelque sorte lié et significatif.
tdammers
4

La réponse simple à "Pourquoi aucune application de bureau dans Flash" est que vous pouvez simplement les écrire dans Adobe Air, mais apparemment, peu le font.

Je crois que la réponse est que les gens veulent des applications Web , pas une application Flash flashy, et ils veulent que les applications Web soient comme toutes les autres applications Web qu'ils utilisent. Personnellement, je veux pouvoir utiliser un Flashblocker et avoir toujours toutes les fonctionnalités de l'application.


la source
3

Il s'agit d'un effet très courant dans notre industrie.
Par exemple, j'utilise personnellement haXe et déploie mon code client sur Flash Player, car à mon humble avis , c'est la meilleure plateforme Web que je puisse cibler. Une fois le backend C # terminé, je vérifierai probablement si Silverlight vaut la peine d'être utilisé, bien que mon sentiment personnel soit qu'il est mort avant de décoller.

Étant très satisfait de mon choix de langue, je me pose souvent la question suivante: pourquoi plus de développeurs Web n'utilisent-ils pas un langage open source, multi-paradigme, expressif et multiplateforme?

Il y a plusieurs raisons, mais ce sont toujours les mêmes. Une préférence valide est une préférence personnelle. Mais souvent, cela revient à l'ignorance ou à la réticence envers les technologies nouvelles / de niche.
En ce qui concerne Flash, j'ai eu de nombreux arguments pour expliquer pourquoi il a sa place et pourquoi l'utiliser. Les gens soutiennent principalement que le but de Flash est de créer des sites fantaisistes qui se chargent pendant des âges et fonctionnent horriblement (et diffusent beaucoup d'autres informations erronées).
En fait, l'inverse est vrai et des applications telles que Aviary Phoenix ou Sliderocket et des jeux comme Koyotl et Tanki Online le prouvent. Flash est une plate-forme mature pour créer une expérience de type bureau dans le navigateur.

Au final, trop de décisions stratégiques sont prises par des personnes incompétentes, qui préfèrent suivre les tendances et font plutôt confiance à un blogueur de fantaisie qu'à leurs développeurs. Et qui ont vraiment beaucoup de mauvaises idées en tête.

Les technologies nouvelles / de niche auront toujours du mal à être acceptées, à moins qu’elles ne fassent vraiment une percée. Ruby par exemple a réussi à travers Rails et le grand battage médiatique qui l'entoure. Flash a eu une telle percée pour les concepteurs, car dans les années 90, les gens pensaient que le strident était bon et c'était la première plate-forme largement répandue qui permettait de mettre en œuvre exactement cela.
Malgré Flex, Flash n'a jamais vraiment connu une telle percée pour les développeurs. Peut-être parce que GWT , qooxdoo et beaucoup d'autres frameworks de déploiement sur HTML sont suffisamment bons pour ne pas simplement utiliser Flex ou Flash, et il y a beaucoup plus de développeurs Java et JavaScript (apparemment, les entreprises préfèrent choisir des technologies où il y a une grande quantité d'employés potentiels ).

De nos jours, vous n'avez pas besoin d'écrire votre site Web AJAX à partir de zéro. Vous ne pouvez pas réellement comprendre le HTML et le faire de toute façon, dans la langue de votre choix.

À l'heure actuelle, HTML5 est largement annoncé et mis en avant et de nombreuses personnes en déduisent la mort de Flash. Beaucoup de bonnes raisons sont données, pourquoi HTML5 est meilleur que Flash. Ce qui est plus probable, c'est que vous aurez de plus en plus de sites Web gourmands en ressources et créés avec HTML5. La merde à base standard n'est pas meilleure que la merde à base de tiers.

En ce moment, il se passe beaucoup de choses. L'iPhone et d'autres appareils similaires ont créé un marché géant, qui n'existait pas il y a seulement 4 ans. Et les standards du web sont enfin poussés par toutes les grandes entreprises dans la même direction (vaguement).

Personnellement, j'espère juste que toute l'agitation s'installe dans un an ou deux, que HTML5 se stabilise, mûrit et se propage jusque-là, tandis qu'Apple adoptera, espérons-le, une position moins despotique et que Flash Player deviendra plus rapide sur les plateformes mobiles. Et qu'une fois cette grande étape franchie, les gens reviendront à choisir le bon outil pour le travail, tout comme après la fin des guerres des navigateurs. À l'heure actuelle, il y a trop de bruit pour que les gens pensent clairement.

back2dos
la source
3
Lancez un lecteur d'écran, éteignez votre écran et essayez-le. Ça marche toujours?
BillThor
1
"Pourquoi les développeurs Web n'utilisent-ils pas davantage un langage open source, multi-paradigme, expressif et multiplateforme?" - Tu veux dire, comme Javascript?
André Paramés
1
@BillThor: En fait, cela dépend de la mise en œuvre. Flash Player peut s'interfacer avec des lecteurs d'écran . Peu de gens choisissent de tirer parti de ces possibilités. Soit parce qu'ils s'en moquent, soit parce que c'est inutile. Même si je suis désolé pour les malvoyants, je ne vois pas beaucoup d'intérêt à rendre accessibles les applications / jeux que j'ai liés aux lecteurs d'écran. Je suis également sûr que vous aurez du mal à utiliser Photoshop avec votre écran éteint.
back2dos
1
@ BillThor: Apparemment, vous n'avez pas réussi à comprendre l'essentiel de mon message: les gens devraient recommencer à utiliser le bon outil pour le travail au lieu d'utiliser ce qui est populaire. HTML est un excellent outil pour les applications avec beaucoup de contenu qui peut être capturé avec sa sémantique. Au-delà de cela, ce n'est pas canoniquement le meilleur outil.
back2dos
1
@ back2dos: Je ne l'ai pas manqué du tout. Si j'utilisais le meilleur outil pour le travail pour tout, alors j'utiliserais une douzaine d'outils, certains obscurs. La maintenance devient alors extrêmement difficile. Au lieu de cela, j'utilise des outils avec lesquels d'autres membres de l'équipe ont de l'expérience. Le bon outil pour un projet n'est pas toujours un outil spécialisé.
BillThor
1

Les technologies sont toutes assez immatures. Regardez simplement combien de changements se sont produits dans un bloc de 5 ans. Avec les technologies mobiles / tablettes, cela va encore changer.

Je vois cela comme une fusion. Il ne s'agit pas uniquement de HTML / DOM ou de plug-ins. J'ai vu des extensions HTML pour accéder aux fonctionnalités de l'appareil. Les plug-ins prennent en charge les concepts de bureau et Web tout en apportant leurs propres idées.

Selon votre point de vue, c'est une bonne ou une mauvaise chose. En ce moment, mon équipe travaille dans SilverLight (pas pour le web). Ce n'est pas une mauvaise technologie. Vous pouvez créer des applications très puissantes et très attrayantes. Cependant, il est livré avec beaucoup de complexité par rapport à ses prédécesseurs (.Net et peut-être Win32) car vous ne pouviez pas en faire autant avec ces technologies et les attentes étaient plus faibles. Aujourd'hui, la plupart des développeurs qui écrivent une application sont souvent en concurrence (attentes, pas concurrence réelle) avec le meilleur des technologies de bureau, web et mobiles combinées (vitesse, fonctionnalités, attractivité, convivialité, ...)

Jim Rush
la source