Website als lokale App / App

ZeRoWaR

Lt. Junior Grade
Registriert
Aug. 2008
Beiträge
373
Hallo, ich bin auf der Suche nach einer Methode um eine bestehende Website als App um zu portieren/zu nutzen.
Die Website ist in PHP geschrieben und muss vor allem nur eines, Dateien darstellen, runterladen, hochladen, usw. Also ein simpler File Browser. An PHP solls jedoch nicht scheitern, im Notfall wird für die App eine eigene Website designed.

Nun stehe ich vor dem Problem dies auch Mobil nutzen zu können, am besten ohne den eigentlichen mobilen Browser, sondern als App. Hauptaugenmerk sind zur Zeit Android, Windows 8, später iOS, WindowsPhone.

Mein Problem ist es, dass ich keine Methode finde, dies so zu bewerkstelligen, wie es gebraucht wird und zwar muss die App nicht nur die Daten der Website darstellen, sondern auch lokal darstellen, d.h. es muss eine Möglichkeit bestehen, das die App auch lokal jederzeit läuft, ohne Anbindung des Servers dementsprechend soviel wie vorhanden ist darstellt.
Wenn also 3 GB an Dokumenten runtergeladen wurde, dann soll er eben diese 3 GB darstellen, den rest zumindest gecached, oder eben gar nicht darstellen. Aber hauptsache, das sie App auch lokal läuft und sobald eine Internetverbindung besteht den rest wieder anzeigt. Und am besten auch noch auf das eigene Filesystem zugreifen kann!

Soweit ich mich informiert habe ist dies mit sogenannten Web-Apps nicht möglich, da "Browser" maximal ca. 5 MB an local storage zur Verfügung stellen und für weitere lokale Zugriffe nicht geeignet sind. Egal ob JQuery Mobile, JQuery selbst, Apache Cordova, oder ähnliches, also mit HTML 5 nicht zu bewerkstelligen.

Ich suche also im Prinzip nach einer IDE, die es mir ermöglicht für die meisten bestehenden Betriebssysteme eine App zu schreiben, ohne viel Aufwand für jedes einzelne System, dabei muss die App auf Online Inhalte zugreifen können, diese aber auch lokal besitzen. Wenn es mit einer IDE nicht geht, dann dennoch bitte Ideen/Anregungen in den Raum werfen, sei es nur über 2, oder gar 3 möglich.
Werft mir bitte Brotkrümel zu, ich wäre über jeden dankbar. Ein Leib Brot wäre natürlich der Hit :D Sollte etwas unklar sein, oder nicht verständlich genug erklärt sein, dann kann ich es gerne genauer erklären. Diese Problematik ist mir sehr wichtig und ich werde versuchen sobald wie möglich zu Antworten.

mfg ZeRoWaR
 
Mir fällt jetzt nur Java ein. z.B. sowas?
http://www.zdnet.de/88128468/oracle-erweitert-java-development-framework-fur-ios-und-android/
Aber da brauchst du sicher jemanden mit Know-How...
Alternativ eine Art Xampp für jeder Plattform? :rolleyes:

Oder noch trivaler einen Offline Browser oder wie wäre es mit einfachen HTML?
Dann müsstest du die Webseite inkl. den Downloaddateien einfach nur in einer Zipdatei zum Download anbieten.
In der HTML Datei könntest du dann versuchen mit einem iframe etwas von extern zu laden. Wenn er die Verbindung hinbekommt kannst du dort auf deine externe Webseite zugreifen und dann auch per PHP weiterarbeiten. Offline bist du dann natürlich recht eingeschränkt.
 
Du warst schon auf dem richtigen Weg: Mit Apache Cordova eine 100% offline Version bauen, die sich nur Daten zum Anzeigen per Webservice lädt. Aber nicht neue HTML- und oder JavaScript-Dateien laden darf, denn dies verstößt gegen die Apple AppStore Bestimmungen.
Du kommst also nicht ohnehin einmal ganz von Anfang eine komplette Offline-Version zu basteln, ein "mach die Seite irgendwie offline verfügbar" funktioniert nicht. Es gibt zwar das HTML5 Cache Manifest, aber auch da darf das OS jederzeit den lokalen Cache löschen, wenn es möchte - es ist ja nur ein Cache.
 
Danke für die beiden Antworten!
@ Suxxess
Know-How ist in vielen Bereichen vorhanden ;), aber eine native umarbeitung kommt für die nächste Zeit nicht in Frage, erstmal soll ein "Prototyp" der App entstehen, das Problem war, das ich keine Methoden mit HTML gefunden hatte, lag aber größtenteils an zu alten Foreneinträgen...

@ice-breaker
Ich weiß schon warum ich ein schlechtes Magengefühl bekam beim Apple... Eine reine 100% offline Version solls ja an sich nicht werden, das ich wegen den Apple Geräten dann nicht drum rum komme ist jetzt natürlich doof, aber naja für den Apple solls erst entwickelt werden, wenn die Android und Windows basieren Versionen funktionieren. Eben das Cache Manifest brachte mich auf die falsche Spur, die 5MB Beschränkung ist einfach für heutige Verhältnisse ein Witz, aber da gibts zum Glück doch auch noch andere Varianten, siehe Unten.

Nach größerem recherchieren stoß ich hierauf: HTML 5 Storage
Die Web SQL Databases Methoden sehen sehr vielversprechend aus, wenn es jemanden interessiert, dann werde ich mich hier nochmal melden ob es mit einer der Storage Methoden so klappt wie ich es mir vorgestellt habe.

Danke nochmals, wer weitere Anregungen hat, immer her damit.

Edit: Achja ich benutze jetzt Netbeans und versuche es als eine HTML5 App mit Jquery zu schreiben!
 
Zuletzt bearbeitet:
Auch die verschiedenen HTML5 Storage APIs haben Limits, über die du dich informieren musst, in die kannst du auch keine 3GB Daten jagen. Keine der APIs erlaubt dir unendlich viele Daten abzulegen, und wenn, dann ist es ein Bug. Schlimmer noch sind diese "Standards" noch immer Drafts und Dinge wie die Speicherquotas zum Teil noch gar nicht besprochen, bei WebStorage z.B. ist dies noch komplett offen, es wird nur eine Empfehlung von 5MB gegeben.

Hast du in den "Standard" der WebSQL Database überhaupt mal einen Blick geworfen? Das ist nicht nur ein Draft, die Entwicklung daran wurde auch noch komplett gestoppt, kann also aus dem Grund auch jederzeit aus den Browsers wieder entfernt weden. Ich finde auf die schnelle auch nichtmal ne Info, ob dieser Draft von Windows Phone unterstützt wird (Microsoft ist da doch sehr eigen). Und auch das Draft-Dokument schreibt selbst, dass der Punkt der Quotas auch wieder offen ist, du wirst dich also erstmal über die gesetzten Quotas deiner Wunschsysteme informieren müssen, und wenn du Pech hast werden diese im nächsten Release geändert - sie sind ja nicht in Stein gemeißelt...

Deine online2offline-Lösung taugt also rein gar nichts ;) Eine für Offline-Apps konzipierte Lösung wie Apache Cordova bietet dir aber direkt APIs um Daten unabhängig der HTML5-APIs speichern zu können, mit den OS-Schnittstellen, die dann keine oder andere Quotas haben - aber wenigstens fix sind.
 
Zuletzt bearbeitet:
Hast du in den "Standard" der WebSQL Database überhaupt mal einen Blick geworfen? Das ist nicht nur ein Draft, die Entwicklung daran wurde auch noch komplett gestoppt,
Web SQL wurde aufgrund des alternativen Standards Indexed DB verworfen.
IndexedDB ist eine NoSQL-Datenbank, wie CouchDB und MongoDB, die sehr beliebt bei Node.js Anwendungen sind.
Browser die WebSQL implementiert haben, jedoch nicht Indexed DB, können per Polyfill es nachrüsten.
 
Sei mir nicht böse palace4d, aber deine Aussage enthält soviel Hype und ich nenne es salopp mal soviel "Nosql-Bullshit-Geschwätz", dass es keine wirkliche Hilfe ist.

WebSQL wurde für IndexedDB verworfen: korrekt
IndexedDb ist eine NoSQL-Datenbank: falsch, es ist nicht mehr als ein Key-Value-Speicher, aber da drehe ich dir keinen Strick, das wird heute alles zusammengeworfen ;)
IndexedDb ist wie CouchDB oder MongoDB: falsch, ganz weit weg von gut und böse. Beide letzte sind wirklich NoSQL-Datenbanken, da sie wirklich weit mehr als ein einfacher KV-Speicher erfüllen.
CouchDB oder MongoDB sind beliebt bei Node.js Anwendungen: ja, weil sie einfach zu nutzen. Relevanz hat das für das Thema hier, aber gar keine.
IndexedDb kann durch Polyfills auf andere Lösungen abgebildet werden: korrekt


So nun kommen wir aber zu dem Problem: Es spielt keine Rolle ob NoSQL-Datenbank in Backends beliebt sind, es geht hier um Frontends. Können wir in eine MongoDB-Datenbank 3GB speichern? Ohne Probleme! Funktioniert das deswegen auch in IndexedDB? Nein!
Alle HTML5 Storage APIs haben Limits, oder diese Limits wurden noch gar nicht definieren und die verschiedenen Implementierungen dürfen nun tun und lassen was sie wollen. Wird der Draft final und ein Limit gesetzt, ist der Entwickler, der darin 3GB gespeichert hat (weil es eine Implementierung zuließ) eventuell nervlich am Ende, da nun sein ganzes Konzept kaputt ist.
Und wenn wir ein IndexedDB-Polyfill nutzen, der auf WebSQL aufbaut, gelten immernoch die Storage Limits von WebSQL.
Die Storage Limits von HTML5 Datenbanken brechen seinem Konzept das Genick. Diese sind nicht mit NoSQL-Datenbanken in Backends vergleichbar in denen ich beliebige Mengen speichern kann, es sind 2 verschiedene Welten. Diese erlauben seine Datenmengen nicht, da kann verhältnismäßig nur sehr sehr wenig gespeichert werden. Und nebenbei sind es auch keine NoSQL-Datenbanken sondern nur KV-Speicher oder relationale Datenbanken.
 
Zuletzt bearbeitet:
Zurück
Oben