Est-il possible de développer un programme C++ en utilisant HTML et CSS pour l'interface utilisateur? Je connais la programmation en Javascript avec un conteneur Webkit, mais le développement en C++ m'intéresse beaucoup.
J'étais amoureuse de C # WPF lorsque je développais sous Windows, mais maintenant je suis passée à Linux et je n'ai pas trouvé de bon outil pour utiliser le balisage pour les interfaces. Pour cela, je voudrais mélanger HTML et CSS, qui sont très légers et faciles à utiliser, avec du code C++, avec quelque chose comme WPF.
Oh, encore une chose: je recherche le développement de bureau, pas le Web.
Oui c'est possible. Ce que vous voulez, c'est un framework web C++. Vous pourriez commencer par regarder CppCMS - un cadre de développement Web gratuit à haute performance (pas un CMS) destiné au développement rapide d'applications Web.
Modifier : Une fois la question clarifiée, je pense que Awesomium conviendrait parfaitement à vos besoins.
Vous pouvez obtenir les mêmes fonctionnalités en intégrant WebKit (ou Gecko), mais pour autant que je sache, c'est exactement ce que fait Awesomium dans les coulisses.
Une alternative est librocket - un package de middleware d'interface C++ conçu pour les applications de jeux. Comme vous pouvez le deviner d'après la description, il convient parfaitement aux jeux ou aux applications en temps réel.
Sciter est exactement cela: un moteur HTML/CSS incorporable avec une API C/C++. Compact et multi-plateforme.
Et vérifiez cet article .
Sciter a le même fonctionnalité définie comme WPF mais utilise HTML/CSS au lieu de XAML et utilise une API native.
Caractéristiques hors de la boîte:
<plaintext>
- éditeur avec mise en évidence de la syntaxe,<htmlarea>
_ - éditeur HTML WYSIWYG,<frame type=pager>
- aperçu avant impression et impression HTML/CSS,La même application avec Sciter UI fonctionnant sous Windows, MacOS et Linux à partir des mêmes sources:
Disclaimer: Je suis un auteur de Sciter Engine.
Vous pouvez utiliser Chromium Embedded Framework pour intégrer du contenu HTML5 à votre application. Vous obtiendrez la puissance et la rapidité de Chrome et la possibilité de créer des applications à interface graphique de la même manière que vous développez des applications Web.
Je pense que Electron serait un ajout intéressant aux autres réponses.
Il utilise NodeJS pour exécuter une fenêtre Webkit. Electron lui-même n’est que html/css/js, mais vous pouvez utiliser n’importe quel module Node de votre application Electron - y compris du code C++ personnalisé et compilé de manière native. Un module possible pour intégrer votre code C++ serait un noeud -gyp.
Sachez cependant que ce flux de travail peut inclure un peu plus de JS que vous n'auriez avec les autres réponses.
Mon éditeur de texte préféré, Atom , a été créé avec Electron.
À partir de 2019, je vous suggère de consulter le moteur d'interface utilisateur HTML ultraléger
Non Open Source, disponible pour C++. Rendus OpenGL et DirectX pris en charge.
Ultralight est l’option la plus légère et la plus rapide pour intégrer l’interface utilisateur HTML dans votre application C++.
Il a été créé par le créateur d'Awesomium, qui a malheureusement décidé de supprimer Awesomium. C'est ce que nous avons maintenant.