Une façon d'utiliser HTML comme une interface à un programme C / C ++?
Je suis en train de développer un produit qui est connectée via le port USB. Je veux écrire une application de contrôle pour elle, mais je ne peux pas programmer une interface graphique pour de la merde, alors je suis venu avec l'idée d'utiliser une page web (local de l'app) du répertoire d'installation de l'interface du programme.
Ainsi, la ligne de communication: l'Utilisateur --> page HTML (qui ne sont pas hébergés - local) --> programme C++ --> port USB
J'aimerais faire de cette façon parce qu'il est portable, au moins de l'INTERFACE utilisateur sage, et je peux écrire le code HTML couramment.
Ma question est la suivante: serait-il possible d'utiliser une page HTML pour parler au port USB par le biais d'un programme C++?
Si pas, je vais apprendre GTK - c'est assez portable.
PS. Serait-ce possible avec PHP, ou (eugh) Java?
EDIT: Viens de réaliser que PHP est un langage côté serveur - ça ne marcherait pas dans ma situation parce que la page doit être exécuté comme un programme (I. E., il suffit d'utiliser le navigateur web et HTML comme le GUI, la date de traitement effectué à l'aide de C/C++)
source d'informationauteur Bojangles | 2010-10-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez en fait créer des applications web en C++ à l'aide d'une boîte à outils appelée Wt (de la même API de Qt). Il y a un navigateur autonome, ainsi qu'un module pour Apache. De cette façon, vous pouvez utiliser le C++ votre langage de programmation de la même manière que vous le feriez C# avec ASP.NET et ainsi, vous pouvez également utiliser votre code C++. Ce n'est pas vraiment élégant.
J'avais en fait vous recommandons de vous apprendre Qt et d'écrire l'ensemble de l'application sur le dessus de cela. Il est incroyablement portable et dispose d'une API étendue pour à peu près tout - c'est un cadre d'application; GTK+ est-ce juste de l'INTERFACE utilisateur, et en C, bien que le z gtkmm wrapper en C++, est agréable. Check it out à http://qt.nokia.com - il est disponible sous la licence GNU LGPL.
J'ai utilisé mangouste pour le contrôle d'un serveur via HTTP/HTML. J'ai généré les pages directement en C++, mais je ne vois pas pourquoi vous ne pouvait pas invoquer l'interprète PHP pour rendre le contenu des pages.
Sauf si vous écrivez un plugin de navigateur (pas très portable), un navigateur l'affichage d'une page web ne peut pas simplement appeler des fonctions dans votre programme C++.
Si vous allez contrôler un appareil à partir d'un navigateur, fondamentalement votre programme C++ doit intégrer un serveur web. Ainsi, lorsqu'un lien ou un bouton est cliqué, le programme C++ recevrez une connexion sur une socket qu'il écoute, et peut faire quoi que ce soit.
Qui est parfaitement respectable chose à apprendre à le faire (probablement à l'aide de certaines bibliothèques tierces pour aider avec le serveur web d'aspect), mais c'est aussi l'apprentissage de l'écriture d'un GUI application, et le dernier est plus directement ici 😉
Certainement Java peut faire la même chose. Vous pouvez même exécuter en ligne de commande de PHP et de mettre en œuvre votre serveur en PHP, même si c'est en quelque sorte l'envers de la façon dont PHP est normalement utilisé.
Si vous voulez le faire que - votre programme C++ aurait à prendre un rôle de serveur http. Autant que je sache - beaucoup de configuration du routeur utilitaires fonctionnent de cette façon (sauf pour Apple Airport Express/à l'Extrême) - ils ont de petites httpd en cours d'exécution avec des pages html servi par l'intermédiaire de CGI.
Découvrez HTMLayout. Le faible niveau de la composante, HTMLayout lui-même, est gratuit. C'est uniquement sous Windows pour le moment, autant que je sache, mais le travail est en cours au port pour Linux et Mac. (Windows Mobile port existe déjà). Ils ont aussi Sciter, qui est construit autour de HTMLayout et contient les scripts d'installations. Découvrez la démo, ils sont impressionnants!
(Désolé si ça sonnait comme un bouchon. Je ne suis pas affilié avec eux, mais j'aime vraiment HTMLayout 🙂 ).
La chose la plus proche que je peux penser est la rédaction d'un Firefox/Chrome/IE/Safari plugin et de l'utilisateur de l'installer sur son navigateur pour exécuter votre interface graphique pour contrôler votre appareil.
Vous pouvez inclure un simple serveur http (par exemple http://code.google.com/p/mongoose/) qui expose une interface REST de vos apps et sert une page HTML qui permet de passer des appels à l'interface.