Nehmen wir an, die folgenden zwei Annahmen sind wahr.
- Ihre gesamte Nutzerbasis hat überall Breitbandzugang
- Es gibt einen imaginären Browser X, der die gesamte Entwurfsspezifikation der HTML5- und WHATWG-Gruppen konsistent implementiert und alle Benutzer verwenden Browser X.
Was sind die inneren Grenzen eines kommerziellen öffentlichen HTML5 Web - Anwendung , dass wir für die kommerzielle öffentliche Desktop - Anwendungen benötigen?
Ich interessiere mich für die Einschränkungen von Plugin-freien Webanwendungen, die für zusätzliche Funktionen nicht auf Flash / Java / SilverLight / etc-Bridges oder für zusätzliche Funktionen auf Browser-Plugins angewiesen sind.
Mögliche Einschränkungen, die nicht zutreffen:
- Datenbanken? Wir haben WebSQL und indexedDB.
- Datei IO? Wir haben die HTML5-Datei-API, die sowohl lesen als auch schreiben kann.
- Geschwindigkeit? Mit dem letzten Rennen der JavaScript-Engine ist der Browser nicht mehr langsam. Native C ++ ist nur dreimal schneller als die V8-Engine von Chrome.
- Entwicklungswerkzeuge? Das Web ist ausgereift und es gibt eine ganze Reihe von Tools, die zu zahlreich sind, um sie aufzulisten.
- Geschlossene Quelle? Ja, der gesamte Code ist Open Source. Dies ist ein zweischneidiges Schwert und es gibt zahlreiche Meinungen zur Verwendung von Closed Source oder Open Source Code. Ich persönlich glaube, dass die Vorteile von Open Source Code die Nachteile überwiegen.
- JavaScript / HTML5? Argumente wie "Ich persönlich denke, HTML5 und EcmaScript sind schreckliche Entwicklungsplattformen" zählen nicht.
Bekannte Einschränkungen:
- Kritischer Echtzeit- / Sicherheitscode (streng geheim) gehört nicht ins Web und kann es auch nicht. Es muss in einer einfachen, gut kontrollierbaren Sprache wie C oder C ++ geschrieben sein.
- Jedes Tool, das mit einer fremden Hardware eines Drittanbieters interagieren muss, die an Ihren Computer angeschlossen ist, kann nur schwer mit Ihrer Webanwendung kommunizieren.
Es gibt auch eine ganze Reihe von Programmen, die nicht ins Web gehören. Betriebssysteme, Treiber, Serversoftware, Low-Level-APIs. Ich bin mir dessen bewusst, klassifiziere sie jedoch nicht als "kommerzielle öffentliche" Anwendungen. Dies ist die Art von Software, die auf Computern vorinstalliert werden kann.
Abgesehen davon weiß ich, dass die beiden Annahmen schrecklich unrealistisch sind, aber wir könnten sie in 5/10/20/30 Jahren erreichen. Ich interessiere mich für die Art der Anwendungen und die Funktionen der Anwendungen, die sie vollständig mit dem Web inkompatibel machen .
Motivation:
Der Punkt:
Angesichts der Reihe von Problemen, bei denen eine Desktop-Anwendung eine gültige Lösung ist.
- Warum ist eine Webanwendung keine gültige Lösung?
- Wie erkenne ich, ob ich eine Webanwendung als Lösung verwenden kann?
Ich habe versucht, die Hauptschwierigkeiten bei Webanwendungen (Internetverbindung und Browserunterstützung) zu beseitigen, indem ich behauptete, dass sie nicht existieren.
Abgesehen davon sind HTML5-Offline-Anwendungen und Modernizr auf dem besten Weg, beide Probleme zu lösen.
Was sind die anderen Schwierigkeiten bei der Entwicklung von Webanwendungen?