(Hilfe bei) Programmierung/Erweiterung von Webapp mit offline Fallback (websql?)

dermaier

Aktives Mitglied
Thread Starter
Dabei seit
24.01.2006
Beiträge
417
Reaktionspunkte
7
Hallo,

ich habe eine "webapp" mit PHP, SQL, Javascript &HTML programmiert, welches bis jetzt ganz gut auf dem iPad, iPhone und dem Mac in Safari funktioniert.
Was mir nun fehlt ist die Möglichkeit, das iPad offline zu verwenden. Mein Gedanke: Die Datenbank in den Browser verlagern und online nur noch zu syncen... Dazu müssten natürlich eine Menge Abfragen und Funktionen, die ich bis jetzt mit PHP löse auf Javascript umgestellt werden.

Vielleicht benötige ich auch eine andere Strategie? Evtl. gibt es einen Lösungsweg, der mir nur nicht bekannt ist?

Falls sich hier jmd. gewappnet fühlt, mir dabei zu helfen - bitte melden! (bzw. Angebot machen für Dienstleistung)

Herzlichen Dank im Voraus!
 
Und wenn der Benutzer den Browser schließt? Mit JavaScript hast Du (fast) keine Möglichkeit, größere Datenmengen zwischen einzelnen Sessions offline zu speichern. Du müßtest schauen, ob die von Dir gewünschten Browser client-side storage unterstützen und ob Du mit der Kapazitätsbeschränkung (ein paar MB) zurecht kommst.
 
Ich bin ja entschiedener Gegner von Web Apps die als App daherkommen.
Aber Du kannst eine iOS App entwickeln, die
a) Statischen Content als Basis in der App mitbringt
b) Neuen Content asynchron herunterlädt und lokal in der App Sandbox ablegt.
c) Eine Kombination aus a und b anzeigt.

Wenn Du das allerdings hinbekommen hast ist der Weg zu einer vernünftigen App auch nicht mehr weit.
Die zieht sich (nur als Beispiel) JSON oder XML mit Images oder PDF's von Deinem Server und stellt sie in ein paar einfachen UIViewControllern dar.

Aber wie schon gesagt. Sowas halte ich für wenig originell.

( Die Qualität im AppStore hat schon genug gelitten.
Leider sieht man dadurch gute Apps kaum, da sie in der Masse untergehen. Es sei denn sie verbreiten sich durch Mundpropaganda. )
 
Ich habe mir die Developer-Beispiel Seiten von Apple angesehen... Ich sehe hier irgendwie das Problem, dass ich zwar wirklich ganz wenig Speicher benötige aber relativ komplexe Relationen zwischen den Tabellen habe. Ein einfaches Key->Value Speichern reicht mir da nicht. Größere Datenmengen gibt es nicht - immer nur kleinste Zahlen die hier und da eingetragen werden.

Die Javascript-Datenbank zu benutzen erscheint mir in der Variante als Webapp der einzige Weg -> die Umstellung darauf kann ich zeitlich und aufgrund mangelnder Erfahrung nicht oder nur sehr mühsam leisten. -> Das wäre mir einiges Wert, wenn es jmd. mit Erfahrungen in dem Bereich übernehmen könnte.

Gegen eine native App spricht, dass ich sowohl über das iPad als auch im Browser am Mac mit großer Tastatur und Ziffernpad arbeiten kann, wenn es mal etwas mehr Daten/Klicks sind.
 
Zuletzt bearbeitet:
Vielleicht könnte Core-Data ein interessanter Ansatz sein.
 
Erweitere deine Webapp doch einfach mit einer Manifest Datei und Localstorage aus html5. Zu deinem bestehenden code müsstest du lediglich noch die offline vorgehensweise implementieren.
 
Erweitere deine Webapp doch einfach mit einer Manifest Datei und Localstorage aus html5. Zu deinem bestehenden code müsstest du lediglich noch die offline vorgehensweise implementieren.

Wenn ich es richtig verstanden habe, kann man mit Localstorage doch auch keine relationalen Datenbankeinträge "festhalten"?
Ich werde es mir aber noch mal genau angucken, danke!
 
Ich weiss zwar nicht wie inzwischen der implementierungsstand ist, aber evt. währe dann http://www.w3.org/TR/IndexedDB/ eher für dich geeignet.

Localstorage ist lediglich key/value basiert (localstorage["user"] = "spectrechen") kann aber auch z.b. json komplexere daten bereithalten.
Bei offline Apps ist es meinem empfinden nach aber sehr wichtig an die "beschränkte" performance eines mobilen gerätes zu denken, falls man server tätigkeiten im client behandeln möchte.
 
Ist denn zu Erwarten, dass die Unterstützung von websql aus zukünftigen Safari/iOS Versionen rausfliegt in Anbetracht der "Nicht-Weiterentwicklung" des W3C?
Momentan wird nach meinem Kenntnisstand IndexedDB doch in iOS (noch?) nicht unterstützt?
 
... momentan also eine sehr ungünstige Situation um ein offline WebApp für iOS zu entwickeln... :-(
 
Da es die einzige Möglichkeit ist eine reine webapp zu schreiben die offline mit Daten arbeitet, bleiben hält nicht viele Alternativen.
 
Zurück
Oben Unten