Entschuldigung für das lange Intro - nur versuchen, die Szene angemessen einzustellen, um Mehrdeutigkeiten und Verwirrung zu vermeiden.Graceful Degradation außerhalb der Domäne von Web-Anwendungen: Wie wichtig ist ein Problem?
Webanwendungen sind von dummen browserbasierten Schnittstellen für serverseitige Logik hin zu vollständig browserbasierten Anwendungen mit minimalem Bedarf an serverseitiger Logik gewachsen. Es ist möglich, diese Entwicklung zu beschreiben, indem klare Generationen von Webanwendungen identifiziert werden.
Betrachten wir im Moment nur zwei Generationen: Pre- und Post-Ajax. Es gibt sicherlich noch andere Faktoren, wie zum Beispiel CSS-Unterstützung und Access Control-Header, aber fangen wir einfach damit an.
Ausgehend von einem style-less-einfachen JavaScript-System ist es eine herausfordernde und fehleranfällige Aufgabe, eine Reihe von Verbesserungen zu implementieren, die eine Ajax-Lösung enthalten. Es ist keineswegs einfach.
Welcher Generation eine Webanwendung zu erscheinen scheint hängt von den Mitteln ab, über die auf die Anwendung zugegriffen wird. Die gleiche Webanwendung scheint eine App der ersten Generation zu sein, wenn sie über Lynx und eine App der neuesten Generation über FireFox 3.1 aufgerufen wird. Je nachdem, welcher Useragent auf die App zugreift, liegen dazwischen einige Ebenen.
Das Problem eine Web-Anwendung zu erstellen, die auf den Fähigkeiten des User-Agenten anmutig abbaut abhängig, wo etwas geschaffen Vorteil von aktuellen Browser-Funktionen zurückkehren vor, um die Funktionalität von etwas geschaffen vielleicht 15 Jahren würde zurück zu nehmen, wenn konfrontiert mit Lynx, ist sehr hart.
Ich kann mir eine Desktop-Anwendung nicht vorstellen, die einer solchen Abweichung in der Betriebsumgebung gegenübersteht.
Eine einzelne ausführbare Datei (im Gegensatz zu einer Reihe von Betriebssystem-spezifischen Varianten), die Funktionen in Vista nutzen kann, wird unter Windows XP und ohne bestimmte Vista-Funktionen gut funktionieren. Um über eine vergleichbare Entfernung wie eine Web-App zu degradieren, müsste die gleiche Desktop-Anwendung immer noch funktionieren, wenn auch in einer weniger anschaulichen Weise, wenn sie in einer Befehlszeilenumgebung wie DOS ausgeführt wird.
Führen Sie es unter Lynx, es ist eine Web App der ersten Generation. Führen Sie das gleiche unter FireFox 3.1, es ist eine schicke, glänzende zeitgenössische Web-App. Wenn Sie mit solch einem Problem konfrontiert werden, würden Sie es als schwierig, schwierig, aber machbar betrachten.
Führen Sie es unter DOS, es ist eine Befehlszeilenanwendung. Führen Sie es gleich unter Vista, es ist eine schicke, glänzende zeitgenössische Web-App. Wenn Sie mit solch einem Problem konfrontiert werden, würden Sie es für verrückt halten. Oder würdest du?
Haben Desktopanwendungen jemals eine so große Varianz in den Betriebsumgebungen wie Webanwendungen?
Ist dieses Problem (die Breite der Varianz, nicht die Varianz selbst) einzigartig für die Domäne von Webanwendungen oder kann es in der Desktopentwicklung gefunden werden?
oh, ich weiß nicht .. QT ist wirklich ziemlich gut für Cross-Plattform-Entwicklung. Ihr größtes Problem werden dann Gerätefunktionen sein - z. B. die Bildschirmgröße eines Telefons im Vergleich zum Desktop. – gbjbaanb
Ich stimme zu, Cross-Plattform-Entwicklung ist bereits mit mehreren Sprachen und Frameworks möglich. Bei der grazilen Degradierung geht es jedoch bei Bedarf um eine geringere Bildschirmauflösung, Bandbreite, CPU, Speicher usw.. Qt oder andere Frameworks behandeln das nicht wirklich gut. – Mendelt