Können Web-Technologien für eine Desktop-Anwendung verwendet werden, die in einer traditionellen Sprache wie C ++ geschrieben ist? Ich vermute, dass sie das können, obwohl ich keine Beweise dafür finden konnte. Ich verstehe, dass Adobe Air Desktop-Apps mit Flash erstellen kann, aber es verwendet Web-Sprachen wie PHP etc. Was ich tun möchte, ist in der Lage sein, meine GUI-Elemente zu erstellen - Edit Boxen, Schieberegler, Menüs und so weiter, mit html / CSS - anstelle von nativen Widgets - in einer Anwendung, die ansonsten auf herkömmliche Weise erstellt wird - z. B. mit Visual Studio.
Weiß jemand, ob dies getan wurde, ob es eine Software gibt, die es einfacher macht, oder wenn es Einwände gegen diesen Ansatz gibt?
Qt bewegt sich in diese Richtung, mit CSS-ähnlichem Styling und einem bevorstehenden " deklarativer "UI-Mechanismus .
Zusätzlich können Sie Ihre App mit Javascript über QtScript betreiben.
Sie können QtWebKit auch verwenden, um eine HTML-basierte Benutzeroberfläche bereitzustellen. Es ist auch möglich, zwischen C ++ - Code und Javascript zu überbrücken.
Eine Anwendung, an der ich beteiligt war, TomTom HOME 2 wurde als großes C ++ - Plugin im Mozilla XulRunner-Framework erstellt. Dieses Framework wird mit Mozilla FireFox geteilt, daher gibt es viele Gemeinsamkeiten. TomTom HOME ist ein kostenloser (wie in Bier) Download und der Modellteil ist in lesbarem Javascript, so dass Sie schauen können, wie es funktioniert.
Der Vorgänger TomTom HOME 1.x wurde wie Antony Carthy beschrieben und enthält das ActiveX-Steuerelement MSHTML (IE) oder Safari auf dem Mac. (Disclaimer: TomTom hat eine Reihe von Patentanmeldungen eingereicht, um mit dem eingebetteten Browser zu kommunizieren; die ActiveX-Schnittstellen zur JS-Engine sind eher begrenzt)
Es ist ziemlich einfach, wenn Sie ein geeignetes MVC-Design haben, und es macht es auch einfach, die Model / View-Trennung während der Implementierung sauber zu halten. Sie können keinen "schnellen Hack" in das Modell einfügen, um einige interne Details des Modells sichtbar zu machen. Der View-Code ist Javascript und kann nur über definierte Schnittstellen auf das C ++ - Modell zugreifen.
Sehen Sie sich das Awesomium SDK an. Es basiert auf Chromium, das Google Chrome antreibt. Es ist eine Brücke für Ihre native App in C ++ oder .NET mit einer html5 / js / css Web-UI.
Tags und Links html css c++ user-interface widget