10
votes

Comment utiliser la technologie Web pour une interface graphique d'application C ++?

Les technologies Web peuvent-elles être utilisées pour une application de bureau écrite dans une langue traditionnelle comme C ++? Je suppose qu'ils peuvent, même si je n'ai pas été en mesure de trouver de preuve de cela. Je comprends Adobe Air peut créer des applications de bureau à l'aide de Flash, mais elle utilise des langages Web comme PHP, etc. Ce que je voudrais faire est de pouvoir construire mes éléments d'interface graphique - éditer des boîtes, des curseurs, des menus, etc., en utilisant HTML / CSS - au lieu de widgets natifs - dans une application qui est autrement intégrée à la manière conventionnelle - à l'aide de Visual Studio par exemple.

Est-ce que quelqu'un sait si cela a été fait, s'il existe un logiciel qui facilite la tâche, ou s'il existe des objections à cette approche?


0 commentaires

5 Réponses :


2
votes

XUL utilise XML et CSS pour définir les éléments de l'interface graphique.


0 commentaires

4
votes

qt se déplace dans cette direction, avec CSS-like STYLING et à venir Mécanisme UI "déclaratif" .

En outre, vous pouvez conduire votre application avec JavaScript via QSScript .

Vous pouvez également utiliser Qtwebkit pour fournir une interface utilisateur basée sur HTML, il est possible de ponter entre C ++ Code et JavaScript.


2 commentaires

Qtwebkit semble intéressant - mais j'aimerais avoir une interface graphique qui n'a pas besoin d'une puissant bibliothèque externe - juste un rendu Web conforme aux normes.


Vous pouvez lier avec QT statiquement si cela est important pour vous.



0
votes

Comme une ligne de touche, j'ai construit une application efflictive à l'aide d'un contrôle de formulaire IE, intégrant essentiellement un navigateur Web dans mon application, qui a servi de mes fins à l'époque.

EDIT:

http://msdn.microsoft.com/ EN-CA / Bibliothèque / AA770041 (vs.85) .aspx

https://stackoverflow.com/questions/tagged/mshtml


2 commentaires

Cela ressemble à la sorte de chose. Comment votre formulaire a-t-il communiqué avec votre application?


J'étais uisng c # .net et aussi loin que je me souviens, j'ai importé shdocview.dll, mais je devais la convertir en une assemblée gérée ou une chose de telle chose. Essayez, une fois que j'ai commencé, c'était facile. Il est possible que les contrôles de formulaire .NET incluent maintenant le contrôle du navigateur Web? Ou utilisez-vous VC6?



1
votes

Une application dans laquelle vous avez été impliquée, TomTom Home 2 est construite comme un grand plugin C ++ dans le cadre Mozilla Xulrunner. Ce cadre est partagé avec Mozilla Firefox, donc il y a beaucoup de points communs. TomTom Home est un téléchargement gratuit (comme dans la bière) et la pièce du modèle est lisible JavaScript, vous permettant ainsi de voir comment cela fonctionne.

Son prédécesseur, TomTom Home 1.x a été construit comme Antony Carthy décrit, enveloppant le contrôle ActiveX MSHTML (c.-à-d.) ou safari sur Mac. (Disclaimer: TomTom a déposé un certain nombre d'applications de brevet pour communiquer avec le navigateur incorporé; les interfaces ActiveX au moteur JS sont plutôt limitées)

C'est assez facile si vous avez une conception MVC appropriée, et il est également facile de conserver la séparation du modèle / de la vue propre pendant la mise en œuvre. Vous ne pouvez pas mettre dans un "hack rapide" dans le modèle pour exposer certains détails internes du modèle. Le code de vue est JavaScript et peut accéder au modèle C ++ uniquement via des interfaces définies.


0 commentaires

1
votes

Découvrez le Awesomium SDK . Il est basé sur le chrome qui alimente Google Chrome. C'est un pont pour votre application native en C ++ ou .NET avec une interface utilisateur Web HTML5 / JS / CSS.


0 commentaires