Ich mache eine hybride Android-App.
Zuerst habe ich mich für localStorage entschieden und nach 2 Tagen festgestellt, dass es sehr seltsam ist.
Dann habe ich indexedDB aufgegriffen, nachdem ich den ganzen Tag mit der Ausgabe in Google Chrome verbracht habe und sie tatsächlich erhalten habe, läuft sie nicht in einem WebView der Android-App.
Und ich habe nie eine Web-SQL-Datenbank verwendet, weil sie veraltet war. Jedenfalls ist mir aufgefallen, dass PhoneGap immer noch Web SQL verwendet und von den Browsern von Android unterstützt wird.
Warum wurde Web SQL überhaupt nicht mehr weiterentwickelt? Und ist es eine gute Idee für mich, jetzt mit Web SQL zu arbeiten?
Antworten:
Kurzversion: Web SQL war veraltet, weil Standards wirklich wichtig sind und es unerschwinglich gewesen wäre, Web SQL in einen richtigen Standard zu verwandeln.
Da vorhandene Implementierungen von Web SQL im Grunde genommen Wrapper für SQLite sind, war jeder Versuch, einen Standard dafür zu definieren, im Grunde "das zu tun, was SQLite tut". Das ist nicht gut genug; Ein echter Standard muss in sich geschlossen sein, um die Schnittstellen- und Eckfälle und Ausnahmen selbst zu definieren, anstatt auf eine vorhandene Implementierung zu verweisen (insbesondere eine Implementierung eines Drittanbieters wie SQLite). Andernfalls laufen Sie Gefahr, die Macken einer bestimmten Implementierung als Standard festzulegen. Nach allem, was ich gelesen habe, bevorzugt das W3C mehrere unabhängige Implementierungen der vorgeschlagenen Standards, um sicherzustellen, dass dies geschieht. Da Web SQL so stark an SQLite gebunden war, würde das einfach nicht passieren.
Mozillas Blog enthält weitere Informationen zu ihren Argumenten, insbesondere, dass Web SQL nicht unterstützt wird. Anscheinend waren sie eine der Hauptstimmen, die dafür sorgten, dass Web SQL veraltet war.
Sollten Sie jetzt mit Web SQL arbeiten? Ich erwarte nicht, dass die Hersteller, die es derzeit unterstützen (wie Google und Apple), es bald einstellen, aber IE und Firefox werden es nicht hinzufügen. (Zum Beispiel empfiehlt Ido Green mit Google Developer Relations die Verwendung nicht.)
quelle
Josh Kelleys Antwort ist bis jetzt die BESTE Antwort, die ich je über den Grund gefunden habe, warum das Standardwerk gestoppt werden muss. Ich denke jedoch, dass es eine zusätzliche Perspektive gibt, die in Bezug auf die Nutzerbasis berücksichtigt werden muss.
Trotzdem bin ich nicht einverstanden mit der Herangehensweise von Ido Green an das Thema ("Dies ist eine Empfehlung für Webentwickler, die Technologie nicht mehr so effektiv einzusetzen") ...
Ich glaube (wie vi4m in den Kommentaren von Ido Green's Artikel feststellt):
Und ich möchte einen anderen logischen Ansatz hinzufügen: Wenn Sie für mobile Umgebungen entwickeln ... ¿Welche Umgebungen sind in mehr Händen? Antwort: iOS und Android ... Also, wenn BEIDE webSQL unterstützen und Ihr Ziel MASSIVE MOBILE ist, probieren Sie es aus!
Denken Sie, wie es große Apps fast immer am Anfang getan haben, holen Sie sich zuerst die MOST und erstellen Sie dann (sobald Sie Erfolg haben) die Arbeit neu, um die verbleibenden weniger zu bekommen (wenn Sie sie wirklich erreichen wollen oder dazu aufgefordert werden). Ist nicht immer Erfolg, wer den Weg kennzeichnet?
Nachdem ich Nolan Lawsons Artikel gelesen habe (in dem klar ist, dass er beabsichtigt, seiner Erfindung eine Chance zu geben), glaube ich, dass diese Angelegenheit zu einem neuen Kalten Krieg zwischen Technologiegiganten wurde, der es eigentlich gar nicht geben sollte. Ich glaube, die Spezifikationen sollen erhalten bleiben (je länger und je unberührter sie sind, desto besser für eine kundenorientierte Leistung). Ironischerweise besteht die Aufgabe der "specs guys" darin, NEUE Spezifikationen zu generieren (manchmal, wo keine benötigt werden, damit er mehr zu tun hat), und ebenso konzentrieren sich Programmierer-Jobs manchmal darauf, das, was bereits funktioniert, zu ändern und neu zu schreiben, anstatt Lösungen für neue Probleme zu finden und neue Tendenzen.
Bei clientseitigen Datenbanken ging es für mich lediglich darum, Parallelen (zwischen Server- und Clientseite) herzustellen, damit wir auf einfache Weise Daten erstellen, speichern, hochladen und herunterladen können. Unter diesem Ansatz ist es einfach und logisch, die gleichen Sprachen und Strukturen zu haben (zumindest für uns OpenSource-Entwickler von LAMP).
Ich glaube, dass die Absicht von IndexedDB, eine Alternative mit breiteren und neueren Möglichkeiten zu sein, immer gut ist, aber irgendwie ähnelt es mir der Notwendigkeit, Software zu entwickeln, die installiert werden muss (auch wenn die Kernlösung in der Cloud verbleiben kann). In einer Welt, die dazu neigt, in Verbindung zu bleiben, hört es sich an wie A) eine Frage der Kontrolle und des Besitzes oder B) sich darauf zu konzentrieren, Monster für die Kundenseite zu entwickeln ... aber für diese Art von Anforderungen existieren Apps (in der mobilen Welt) und Software (in der PC-Welt). Meines Erachtens sollte das Ziel von Webapps in erster Linie darin bestehen, das Web unabhängig vom Gerät zu erweitern.
Ich glaube, aus diesem Ansatz könnte eine schöne Infografik entstehen.
quelle
Die Realität ist, dass die beitragenden Parteien eine Sackgasse in der Richtung der Norm erreichten. Kurz gesagt, niemand konnte zustimmen.
Die W3C-Site erklärt dies.
WSC Seite
quelle