2009-08-03 5 views
-1

Duplizieren: Dies ist ein Duplikat von .NET WebBrowser Control as User Interface. Lassen Sie uns bitte diese Frage schließen und neue Antworten auf das Original richten.Was denken Sie über Web-GUI für Desktop-App mit integriertem Webserver

Hallo Leute, ich brauche dich in solche Dinge erleben im Denken auf einfache Art und Weise so viel wie Cross-Plattform zu sein, wie ich kann in letzter Zeit hatte ich die Idee des integrierten Web-Server für meine Anwendung in C geschrieben mit ++ als einfache Möglichkeit, Cross-Plattform-GUI zu liefern Was denkst du über diese Technik? benutzt jemand es? , um es leicht zu halten, plattformübergreifend, einfach zu entwickeln. Fähigkeit, die Anwendung als 1 Binärdatei in sich abgeschlossen zu halten

+2

Ich habe keine Tinte, es ist ein Duplikat der .NET WebBrowser Frage. Dies ist mehr in Richtung "sollte ich einen Webserver einbetten und meine Benutzeroberfläche in HTML schreiben, anstatt eine traditionelle GUI zu erstellen". –

Antwort

1

Die Idee, Rich Web App als die UI aus Gründen der Portabilität zu verwenden, ist durchaus sinnvoll - obwohl Cross-Browser-Unterstützung eine Menge Arbeit hinzufügen.

Die Einbettung des Servers wäre mir nicht eingefallen (ich arbeite normalerweise in Multi-Tier-Anwendungen, in denen wir natürlich Präsentationsschicht auf eigene Ebene teilen), aber ich sehe keinen Grund dafür Sie sagen, dass einzelne eigenständige ausführbare Dateien eine gewisse Anziehungskraft haben. Selbst wenn Sie HTML, Bilder usw. als Dateien in einem Dateisystem bereitstellen, anstatt sie in die App zu parzellieren (und um die Aktualisierung zu vereinfachen, können Sie das tun), ist Ihr gesamter Ansatz für mich sinnvoll.

0

Ein Nachteil dieses Ansatzes besteht darin, dass der Endbenutzer zwei Prozesse starten muss - den Webserver und den Webbrowser. Sie können die Auswirkungen begrenzen, indem Sie Ihre Anwendung dazu veranlassen, beides zu tun. Die Verwendung kann jedoch zwei Browserfenster anstelle eines Browserfensters enthalten, es sei denn, Ihre App ist schlau genug, in einem vorhandenen Browser eine neue Registerkarte zu öffnen, anstatt eine neue zu starten.

Das ist nur die Spitze des Eisbergs. Bevor Sie diesen Weg gehen, sollten Sie die Auswirkungen Ihrer Entscheidung auf den Endbenutzer berücksichtigen. Es scheint, als ob Ihr Hauptziel die plattformübergreifende Unterstützung und nicht die hohe Qualität der Endbenutzererfahrung ist. Was ist dir wichtiger?

Vielleicht ist ein webbasiertes Frontend für Ihre Benutzer am besten, oder sie werden besser mit einem traditionelleren GUI-Toolkit bedient. Es gibt viele plattformübergreifende GUI-Toolkits, mit denen Sie Ihren Benutzern mit geringem Aufwand ein reichhaltiges Erlebnis bieten können (zum Beispiel Tk mit Python, Ruby oder Tcl).

Manche mögen sagen, dass Toolkits wie Tk, Wx, etc. Kompromisse machen müssen, um plattformübergreifend zu sein, aber ich denke, sie bieten weit weniger Kompromisse, als Sie akzeptieren müssen, wenn Sie ein webbasiertes Frontend erstellen.

Natürlich müssen Sie auch die Zeit bis zur Markteinführung, Ihre eigenen Fähigkeiten usw. berücksichtigen, wenn Sie diese Entscheidung treffen. Denken Sie daran, dass die Software am Ende des Tages dem Endbenutzer eine Aufgabe erleichtern soll. Fragen Sie sich also, ob Ihre Entscheidung dies unterstützt oder behindert.

+0

meine zweite Wahl ist qt. aber ich werde die binäre Regel des Selbstbehälters brechen – user63898

+0

einige Skriptsprachen erlauben Ihnen, ausführbare Dateien der einzelnen Datei ohne Abhängigkeiten zu verursachen. Tcl/Tk und das Tclkit/Starkit/Starpack-Modell kommen mir in den Sinn. Ich bin mir sicher, dass es andere gibt. –

Verwandte Themen