2009-07-29 12 views
4

Ist es möglich, eine vollständige Client-Seite Anwendung mit HTML 5 (es wird Chat-Clients, Börsenticker) + JavaScript einbetten, und dann Bundle ist mit Unterstreichung Firefox 3.5 Engine, so dass Benutzer können Installieren Sie es als Desktop-Anwendung unter Linux, und dann wird es in einem eigenen Fenster mit Firefox 3.5-Engine ausgeführt. Die App speichert alles im lokalen Speicher - wie URL, Benutzernamen usw. und interagiert nicht mit einem lokalen Server.vollständige Client-Seite Anwendung mit HTML 5

Es wäre reine HTML5 + JavaScript-basierte Client-Web-App, die verpackt werden würde, und kann von Startup-Skripten installiert oder gestartet werden.

Oder statt Firefox 3.5 Engine verwenden, können wir Mozilla Prism verwenden, um es in Web-App zu konvertieren, und dann bündeln.

Antwort

0

Es klingt wie das, was Sie versuchen, kann mit Adobe AIR getan werden (obwohl es noch keine HTML5-Unterstützung gibt). Adobe AIR-Apps können nur mit HTML und JavaScript geschrieben werden, obwohl AIR die WebKit-Engine und nicht FireFox verwendet.

0

Der App-Teil ist sicherlich machbar (und wird fast überall funktionieren, nicht nur Linux), die Bündelung scheint der problematischere Teil zu sein - nicht jede Distribution von Linux wird die spezifische Art mögen, wie Sie den gebündelten Firefox gebaut haben, ganz zu schweigen davon, dass du dich von so gut wie jeder anderen Linux-Box auf dem Planeten abschneidest (und jede Linux-Box mit einem nicht-x86-kompatiblen Prozessor, etc, usw.) ... alles für diese Bündelung. Kannst du nicht am Prisma aka webrunner Teil anhalten, ohne zu bündeln?

+0

ist für bestimmte Version von Linux. Willst du sagen, wir erstellen nur eine Prism App und bündeln sie, wer auch immer sie ausführen will - sie/er muss Firefox 3.5 und Prisma installiert haben? –

0

Ich bin mir fast sicher, dass ich sowas mit Qt Webkit gesehen habe. Es war nur ein paar Zeilen C++, um das Fenster mit dem Webbrowser-Steuerelement zu erstellen und eine lokale Seite zu laden. Die Seite hat die Benutzeroberfläche der Anwendung erstellt. Ich kann den Link nicht finden.

2

Nun, Sie sollten einen Blick auf xulrunner werfen (https://developer.mozilla.org/En/XULRunner). Dies ist eine Engine zum Erstellen von portablen Anwendungen ... wie Firefox. Sie erhalten volle Gecko Engine + vollen Zugriff auf die Umgebung, wie eine einfache Anwendung. (XUL ist etwas wie HTML - es ist immer noch XML-basierte UI-Beschreibung - aber es ist besser geeignet für die Entwicklung von Desktop-Anwendungen - mit nativen/fast nativen UI).

+0

Möchte die Vorteile der html5-Offline-Fähigkeit + Echtzeit-Integration mit Web-Sockets nutzen, möchte auch Localstorage-Datenbank verwenden, um benutzerdefiniertes Layout/Farben/perferences etc. zu speichern. –

+1

Ich würde es auf diese Weise zusammenfassen: firefox ist eine XULRunner-Anwendung (sehr angepasst, aber Sie können das auch tun). Sie können alles tun, was Firefox tun kann. Und XULRunner bietet Ihnen volle Gecko/Javascript-Engine. Also ja, Sie können Offline-Speicher machen. Ich weiß nicht, wie die "Web-Sockets" funktionieren, aber wenn Sie das auf einer einfachen Website tun können, kann es sicherlich mit XULRunner getan werden. – liori

0

Ich zweite Sekunde, was Liori über die Verwendung von XULRunner sagte. Sie können Ihre HTML-Anwendung einfach bereitstellen, und, noch wichtiger, wenn Sie Einschränkungen von HTML 5 oder dessen Unterstützungsebene in Gecko kennen, können Sie mit XUL-APIs umgehen.

(AFAIK, Firefox 3.5 unterstützt keine Socket-APIs in HTML-Inhalten und unterstützt keine Offline-Speicherung in Web-Apps, nur den localStorage-Teil).

+0

Ich versuche nur, es mit Firefox 3.5 als ersten Schritt arbeiten, aber meine App verwendet Google Ajax API, können wir Google API (Javascripts) im Offline-Modus mit Manifest. Auch laufen wir über: file: /// C: /Projects/ui/html/index.htm, es speichert nichts, prüft es, dass es von http: // –

+0

beginnen sollte Sie sollten das gesagt haben! Ja, datei: // Dokumente können nicht auf http: // zugreifen (da sie auf eine andere Datei: // URL zugreifen können). Sie haben eine Reihe von Möglichkeiten, dies zu beheben, aber es ist eine andere Frage, die separat gestellt werden sollte. – Nickolay