HTML5 Offline-Datenspeicheroptionen

8

Ein Entwicklerkumpel von mir hat erst vor kurzem in einem neuen Unternehmen angefangen und eine seiner Aufgaben besteht darin, eine neue Webanwendung zu entwickeln, die es seinen Benutzern ermöglicht, offline zu arbeiten, wenn ihre Mitarbeiter vor Ort sind und sich später synchronisieren eine serverseitige Datenbank, von der sie noch keinen serverseitigen Provider ermittelt haben (ich vermute, es wird SQL Server sein).

Ich habe mich etwas umgeschaut und es scheint, als wären zwei praktikable Optionen LocalStorage und IndexedDb, wobei LocalStorage die populärere Technologie ist? Sie wollen HTML5 und das ist alles gut und dandy, aber lange Geschichte kurz meine Frage (n) ist / sind ...

  • Was sind ihre Offline-Datenspeicheroptionen in HTML5?
  • Gibt es ältere Lösungen, die besser unterstützt werden?
    • sind diese Methoden weniger riskant?
    • weniger Zeit für die Implementierung?

Das Konzept, Daten offline in einer Webanwendung zu speichern, scheint keine neue Idee zu sein, aber wenn Sie dies in den neuesten Technologien tun (html5, asp.net 4.0 / 4.5), fangen Sie an, sich in spärlich erforschtes Gebiet zu begeben.

  • Was sind Dinge, die vielleicht in Ihrem Unternehmen funktionieren und was nicht funktioniert?

Irgendwelche intelligenten evidenzbasierten Antworten werden mehr als wahrscheinlich meinen upvote bekommen, also eile einfach nicht, um die erste Antwort zu erhalten und versuche, einige schnelle Punkte zu erzielen, ich suche nach etwas gutem solidem Feedback hier. Vielen Dank.

    
Dylan Hayes 17.11.2011, 15:11
quelle

2 Antworten

4

Es gibt mehrere Möglichkeiten der Offline-Speicherung in HTML5:     Webspeicher     Web SQL-Datenbank     IndexedDB     Dateisystem-API

Sie haben eine sehr gute Präsentation all dieser Optionen hier:

Ссылка

Im Vergleich zu älteren Optionen (Cookies, Plugin-basierte Speicherung, Browser-spezifische Funktionen), zitiere ich aus dem Artikel:

"Die neueren Speicher-APIs, was wir" HTML5-Speicher "nennen könnten, sind in Bezug auf Offenheit und Einhaltung von Standards generell überlegen. Natürlich enthalten nicht alle Browser alle neuen APIs, und Sie müssen möglicherweise ältere Browser unterstützen Die älteren Techniken sind immer noch nützlich für eine graziöse Degradierung. "

Weitere nützliche Links:

Ссылка

Ссылка

Hoffe, das hilft ...

    
user998692 17.11.2011, 15:42
quelle
3

Ich denke, Ihre beste Wahl ist die Verwendung von lokalem Speicher, da dies der am weitesten verbreitete Standard der unter HTML5 verfügbaren Speicheroptionen ist.

IndexedDB wurde (meiner Meinung nach) überentwickelt und wird (noch) nicht für alle Mozilla's Beharrlichkeit unterstützt, die ist besser als geschnittenes Brot , und die Zukunft von WebSQL sieht ein wenig unsicher aus, wie Mozilla weigert sich, es zu implementieren und es ist wurde nicht mehr gearbeitet aufgrund einer Sackgasse zwischen W3C und den Browser-Anbietern, die es tatsächlich implementiert haben (Chrome / Safari / Opera).

Gegenwärtig gibt es eine kleine Browserexplosion, dank der Einführung des Smartphones. Daher ist es schwer zu sagen, wie viel vom Markt die HTML5 LocalStorage-Funktionen unterstützt, aber statcounter Ich konnte das zwischen Chrome (4+), Firefox (3. +), Safari (4+), Opera (10.5+) und IE (8+), einschließlich iPhone und Android-Geräten, haben Sie etwa 80-85% des Marktes erfasst, wobei diese Zahl eine Rate von 1-2% pro Monat nach oben geht. Der Rest ist IE 6/7 (der hartnäckig dazu neigt, durchzuhalten), ältere Versionen von neuen Browsern (mit Update-Funktionen, die sie im Allgemeinen aktuell hielten), und einige mobile Browser stecken in der Steinzeit zurück.

Wie bei älteren Optionen würde ich Persistenz von Benutzerdaten hinzufügen für IE6 / 7 auf die von @ user998692 zur Verfügung gestellte Liste, aber auf jeden Fall wirst du mit vielen Inkompatibilitätsproblemen des Browsers und Unterstützung für ein Sammelsurium von Technologien konfrontiert sein, die deine Codebasis verkomplizieren und deine Lieferzeiten verkürzen (und kosten) entsprechend. Wenn Sie jedoch diesen Weg gehen wollen, würde ich Ihnen empfehlen, sich PersistJS als die Leute anzusehen, die es ausdrücken zusammen haben viel von der Arbeit getan, die Sie bereits benötigen würden.

Heutzutage ist es mehr wert, sich darauf zu freuen (wie der Markt in 1-2 Jahren aussehen wird, wenn sich Ihre App verbreitet und eine breite Nutzerbasis erhält) als umgekehrt, also würde ich sagen, dass HTML5 LocalStorage wahrscheinlich das Beste ist Option.

    
Steven de Salas 18.11.2011 11:32
quelle