Warum verwenden wir das DOM immer noch im Browser und nicht als Desktop-Paradigma?


11

Nach meinem Verständnis wurde die Weboberfläche für die Verwendung von HTML entwickelt, da es zu diesem Zeitpunkt aufgrund von Bandbreitenbeschränkungen und möglicherweise Verarbeitungsleistung nicht möglich war, eine Anwendung im Desktop-Stil im Browser zu simulieren, z. B. wie Silverlight und Flash funktionieren.

Warum gab es in der Vergangenheit keine und in der Gegenwart gab es eine größere Akzeptanz und einen größeren Schub für Technologien wie Flash / Silverlight? Aus meiner Erfahrung heraus sind sie angenehmer zu entwickeln (natürlich meiner Meinung nach), und Sie müssen sich nicht mit der Cross-Browser-Konformität und älteren Browsern (größtenteils) befassen.

Der Umgang mit Postbacks, AJAX usw. scheint im Vergleich zum Entwicklungsparadigma von Desktop-Anwendungen ein zusätzlicher unnötiger Aufwand zu sein. Gedeihen das DOM und seine komplementären Technologien weiterhin hauptsächlich durch die Tatsache, dass für Silverlight / Flash eine Plugin-Installation erforderlich ist und einige mobile Geräte das Plugin nicht unterstützen?


1
Weil das DOM kein Bürger zweiter Klasse ist. Silverlight und Flash sind undichte Abstraktionen. Sie können ganz einfach native Desktop-ähnliche Anwendungen im Browser-Benutzer DOM haben. Es funktioniert einfach und lässt sich besser integrieren als Flash oder Silverlight.
Raynos

Antworten:


17

Ein paar Gründe, die mir auf den ersten Blick einfallen:

  • Der traditionelle Webstack ist heutzutage ziemlich ausgereift; Moderne Browser haben nur noch wenige Macken, und das Entwerfen von Websites für sie ist im Vergleich zu vor nur 5 Jahren relativ angenehm
  • Es gibt zwar Unterschiede zwischen Browsern, diese sind jedoch weniger relevant als Unterschiede zwischen dem zugrunde liegenden Betriebssystem und der Hardware
  • Das Anforderungs- / Antwortparadigma funktioniert tatsächlich sehr gut für viele Dinge, wie zum Beispiel die Präsentation von textintensiven Inhalten
  • Suchmaschinen sind nicht gerade an Flash- oder Silverlight-Inhalten interessiert
  • Flash und Silverlight werden jeweils von einer einzigen Firma gesteuert. Wenn Sie sie verwenden, ist die zukünftige Plattformunterstützung für Ihren Code diesen Unternehmen ausgeliefert
  • Viele Dinge, die Sie mit HTML tun können, können nicht mit Plugins erledigt werden: Denken Sie an Lesezeichen, Kopieren und Einfügen, On-the-Fly-Übersetzung, benutzerdefinierte Stylesheets
  • Plugins funktionieren nicht gut mit nicht standardmäßigen Browsern - denken Sie an Textbrowser, Audio-Browser und die Vielzahl anderer Geräte, die Webseiten anzeigen können
  • Sie können Flash- oder Silverlight-Clients nicht einfach automatisieren, während das Aufrufen von HTML-Websites aus Skripten normalerweise recht einfach ist.

Eine weitere Sache, die mir einfällt: Diese Plugins sind keine Open Source-Plugins. Und manche Leute vertrauen einfach keinen Dingen, mit denen sie nichts anfangen können git clone. Natürlich können Sie Open Source-Versionen wie Gource oder Moonlight erhalten, aber diese sind nicht wirklich vollständig kompatibel.
Dr. McKay

2
Ich hatte tatsächlich an das Open-Source-Argument gedacht, aber ich dachte nicht, dass es ein ausreichend großes Problem ist, realistisch gesehen (egal wie groß ein Fan von FOSS ich selbst bin). Das Argument „einem einzelnen Unternehmen ausgeliefert“ ist ohnehin verwandt und bedeutsam.
tdammers

4

Die einfache Antwort auf "Warum keine Desktop-Anwendungen in Flash" lautet, dass Sie sie nur in Adobe Air schreiben können, aber anscheinend nur wenige.

Ich glaube, die Antwort ist, dass die Leute Webanwendungen wollen , keine auffälligen Flash-Anwendungen, und sie wollen, dass die Webanwendungen genau wie alle anderen Webanwendungen sind, die sie verwenden. Persönlich möchte ich in der Lage sein, einen Flashblocker zu verwenden und trotzdem die volle Funktionalität der Anwendung zu haben.


3

Dies ist in unserer Branche ein sehr häufiger Effekt.
Zum Beispiel verwende ich persönlich haXe und stelle meinen Client-Code auf dem Flash Player bereit , da es meiner Meinung nach die beste webfähige Plattform ist, auf die ich abzielen kann. Sobald das C # -Backend fertig ist, werde ich wahrscheinlich prüfen, ob es sich lohnt, Silverlight zu verwenden, obwohl ich persönlich das Gefühl habe, dass es gestorben ist, bevor es tatsächlich gestartet ist.

Da ich mit meiner Sprachwahl sehr zufrieden bin, frage ich mich oft: Warum verwenden nicht mehr Webentwickler eine Open-Source-, Multi-Paradigma-, Ausdrucks- und plattformübergreifende Sprache?

Es gibt viele Gründe, aber sie sind immer gleich. Eine gültige ist persönliche Präferenz. Aber oft kommt es auf Unwissenheit oder Zurückhaltung gegenüber neuen / Nischentechnologien an.
Wenn es um Flash geht, hatte ich zahlreiche Argumente, warum es seinen Platz hat und warum man es benutzt. Die meisten Leute argumentieren, dass der Sinn von Flash darin besteht, ausgefallene Websites zu erstellen, die ewig geladen werden und eine schreckliche Leistung erbringen (und viele andere Fehlinformationen verbreiten).
In der Tat ist das Gegenteil der Fall und Apps wie Aviary Phoenix oder Sliderocket und Spiele wie Koyotl und Tanki Online beweisen dies. Flash ist eine ausgereifte Plattform, um eine Desktop-ähnliche Erfahrung im Browser zu erstellen.

Am Ende werden zu viele strategische Entscheidungen von inkompetenten Leuten getroffen, die lieber Trends folgen und eher einem ausgefallenen Blogger als ihren Entwicklern vertrauen. Und die wirklich viele falsche Ideen im Kopf haben.

Neue / Nischentechnologien werden immer um Akzeptanz kämpfen, es sei denn, sie schaffen wirklich einen Durchbruch. Ruby zum Beispiel gelang dies durch Rails und den großen Hype darum. Flash hatte einen solchen Durchbruch für Designer, denn in den 90er Jahren hielten die Leute Shrill für gut und es war die erste weit verbreitete Plattform, die es ermöglichte, genau das zu implementieren.
Trotz Flex hatte Flash für Entwickler nie einen solchen Durchbruch. Möglicherweise, weil GWT , qooxdoo und viele andere Deploy -on-HTML-Frameworks ausreichend gut sind, um einfach nicht Flex oder Flash zu verwenden, und es deutlich mehr Java- und JavaScript-Entwickler gibt (anscheinend bevorzugen Unternehmen Technologien, bei denen eine große Anzahl potenzieller Mitarbeiter vorhanden ist ).

Sie müssen Ihre AJAX-Website heutzutage nicht mehr von Grund auf neu schreiben. Sie können tatsächlich kein Verständnis von HTML haben und es trotzdem in einer Sprache Ihrer Wahl tun.

Im Moment wird HTML5 stark beworben und weiterentwickelt, und viele Leute schließen daraus den Tod von Flash. Es gibt viele gute Gründe, warum HTML5 besser ist als Flash. Was wahrscheinlicher ist, ist, dass Sie immer mehr ressourcenhungrige, aufgeblähte Websites haben, die mit HTML5 erstellt wurden. Standardbasierter Mist ist nicht besser als Mist von Drittanbietern.

Im Moment passiert eine Menge. Das iPhone und andere ähnliche Geräte haben einen riesigen Markt geschaffen, der vor 4 Jahren noch nicht da war. Und die Webstandards werden endlich von allen großen Unternehmen in die gleiche Richtung (vage) vorangetrieben.

Persönlich hoffe ich nur, dass sich die Aufregung innerhalb von ein oder zwei Jahren gelegt hat, dass sich HTML5 bis dahin stabilisiert, reift und verbreitet, während Apple hoffentlich eine weniger despotische Haltung einnimmt und Flash Player auf mobilen Plattformen schneller wird. Und sobald dieser große Schritt erledigt ist, werden die Leute einfach wieder das richtige Werkzeug für den Job auswählen, so wie es war, nachdem die Browserkriege aufgehört hatten. Ab sofort gibt es zu viel Lärm, als dass die Leute klar denken könnten.


3
Starten Sie einen Bildschirmleser, schalten Sie den Bildschirm aus und probieren Sie ihn aus. Funktioniert es noch
BillThor

1
"Warum verwenden nicht mehr Webentwickler eine Open-Source-, Multi-Paradigma-, Ausdrucks- und plattformübergreifende Sprache?" - Du meinst, wie Javascript?
André Paramés

1
@ BillThor: Tatsächlich hängt dies von der Implementierung ab. Flash Player kann mit Bildschirmleseprogrammen verbunden werden . Nicht viele Menschen entscheiden sich dafür, diese Möglichkeiten zu nutzen. Entweder weil es ihnen egal ist oder weil es sinnlos ist. So sehr es mir auch für Sehbehinderte leid tut, ich sehe keinen großen Wert darin, die von mir verlinkten Apps / Spiele für Bildschirmleser zugänglich zu machen. Ich bin mir auch ziemlich sicher, dass Sie Schwierigkeiten haben werden, Photoshop bei ausgeschaltetem Bildschirm zu verwenden.
back2dos

1
@ BillThor: Anscheinend haben Sie den Kernpunkt meiner Nachricht nicht verstanden: Die Leute sollten wieder das richtige Werkzeug für den Job verwenden, anstatt das zu verwenden, was beliebt ist. HTML ist ein großartiges Tool für Anwendungen mit vielen Inhalten, die mit ihrer Semantik erfasst werden können. Darüber hinaus ist es nicht kanonisch das beste Werkzeug.
back2dos

1
@ back2dos: Habe es nicht im geringsten verpasst. Wenn ich für alles das beste Werkzeug für den Job verwenden würde, würde ich ein Dutzend Werkzeuge verwenden, von denen einige dunkel sind. Dann wird die Wartung extrem schwierig. Stattdessen verwende ich Tools, mit denen andere im Team Erfahrung haben. Das richtige Werkzeug für ein Projekt ist nicht immer ein spezialisiertes Werkzeug.
BillThor

1

Die Technologien sind alle ziemlich unausgereift. Schauen Sie sich nur an, wie viel sich in einem 5-Jahres-Block geändert hat. Mit Mobile / Tablet-Technologien wird sich dies wieder ändern.

Ich betrachte es eher als eine Verschmelzung. Es ist nicht nur HTML / DOM oder Plug-Ins. Ich habe HTML-Erweiterungen für den Zugriff auf Gerätefunktionen gesehen. Plug-Ins unterstützen sowohl Desktop- als auch Webkonzepte und bringen ihre eigenen Ideen ein.

Abhängig von Ihrer Perspektive ist dies eine gute oder eine schlechte Sache. Im Moment arbeitet mein Team in SilverLight (nicht für das Web). Es ist keine schlechte Technologie. Sie können einige sehr leistungsfähige, sehr attraktive Anwendungen erstellen. Es ist jedoch sehr komplex gegenüber seinen Vorgängern (.Net und möglicherweise Win32), da Sie mit diesen Technologien nicht so viel anfangen konnten und die Erwartungen niedriger waren. Heutzutage konkurrieren die meisten Entwickler, die eine Anwendung schreiben, häufig (Erwartungen, keine tatsächliche Konkurrenz) mit den besten kombinierten Desktop-, Web- und Mobiltechnologien (Geschwindigkeit, Funktionen, Attraktivität, Benutzerfreundlichkeit, ...).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.