Ich möchte eine plattformübergreifende Anwendung erstellen, die auch eine Website hat, auf der die Desktopanwendungen (Windows, iOS, Linux) mit dem Server kommunizieren und die Benutzerdaten synchron halten.
Bisher sehe ich folgende Optionen:
- Schreiben Sie eine native GUI für jedes der 3 Betriebssysteme, damit ich 3 GUI-Codebasen (und ein einziges Backend-System) habe.
- Verwenden Sie so etwas wie GTK, damit ich ein System mit Unterstützung für alle genannten Plattformen verwenden kann.
Aber das dritte, zu dem ich nicht viele Informationen finden konnte (vielleicht suche ich nicht nach den richtigen Begriffen, da ich noch neu in C # und .Net bin), ist ein Fenster mit einer eingebetteten WebKit-Instanz Dies würde es mir ermöglichen, dasselbe GUI-System zu verwenden, das ich für die Website verwenden würde. Dies würde dazu führen, dass die Client-App und die Website so nah wie möglich beieinander liegen, damit die Benutzer mit der Benutzeroberfläche vertraut sind.
Ist diese letzte Option mit WebKit plausibel? Ich kenne JavaScript / HTML bereits gut und wenn ich dieses Wissen verwenden kann, um die Benutzeroberfläche zu erstellen, wäre das großartig. Dies wäre auch eine großartige Möglichkeit, Benutzern das Anpassen der Benutzeroberfläche mit Plug-ins zu ermöglichen, und sie könnten alle UI-Einstellungen von lokal zu Web synchronisieren.
Antworten:
Ich kann nicht verstehen, warum nicht, aber Sie können Chrome stattdessen einfach im "fensterlosen" Modus oder IE im "hta" Modus ausführen (wir haben eine Desktop-App mithilfe von Web-Tech geschrieben und sie vor einem Jahrzehnt unter Windows als hta bereitgestellt).
Heute würde ich etwas ohne IE / IIS tun und Websockets für eine interaktivere Erfahrung verwenden.
Es gibt Komponenten, mit denen Webkit in C # -Anwendungen eingebettet werden kann: siehe diesen Beitrag von SO (Konsens ist die Verwendung von Webkit.NET ).
Ich würde stattdessen auch die QtWebkit-Komponente verwenden. Dann schreiben Sie eine einzelne, kompakte , Qt-basierte, plattformübergreifende Desktop-App, in die Ihre Web-GUI eingebettet ist.
quelle
Ich habe an einem Anwendungsframework für Projekte wie Ihres gearbeitet. Es basiert auf dem Chrom-Content-Framework. Es ermöglicht die Implementierung der GUI einer Anwendung mit HTML / CSS / JS / SVG usw. und die Implementierung der Anwendungslogik in Javascript oder C #.
Mein Ziel ist es, mit Hilfe von Webtechnologien, die plattformübergreifend sind und nichts Server-seitiges erfordern, umfangreiche, funktionsreiche "Thick" -Desktop-Anwendungen zu entwickeln.
quelle