Nana (bibliothèque)Nana
Nana est une bibliothèque logicielle C++ multiplate-forme pour créer des interfaces graphiques. Elle utilise une Interface de programmation indépendante de la plateforme et fonctionne actuellement avec Windows et Linux (X11)[1]. Nana est un logiciel gratuit à code source ouvert utilisable selon les termes de la licence logicielle Boost. Conception et architectureNana met en œuvre une boite à outils de composants d'interface graphique selon une conception à la fois orientée objet et de programmation générique[2]. Elle respecte entièrement le standard de C++ et peut donc être en principe compilée avec n'importe quel compilateur répondant au standard ISO (par exemple, VC2013, GCC/MinGW, Clang). L'objectif principal de la conception de Nana est de rendre le développement d'interfaces graphiques simple et intuitif pour les développeurs C++. Elle utilise pour cela beaucoup d'éléments de langage C++ avancés, tels que les templates, la librairie standard, les exceptions et la détermination dynamique des types à l'exécution. La librairie est entièrement conforme à C++11 depuis 2012[3], laissant ainsi aux développeurs la liberté d'utiliser les éléments de style dits C++ moderne, tels que les fonctions lambda, les pointeurs intelligents, et les évolutions de la librairie standard. Interface avec le langageNana est écrit en C++ et cible uniquement ce langage. L'exemple suivant[4] crée une fenêtre avec pour titre Bonjour tout le monde et un bouton Quitter : #include<nana/gui/wvl.hpp>
#include <nana/gui/widgets/button.hpp>
int main()
{
using namespace nana;
form fm; // la classe form désigne une fenêtre avec titre et un cadre redimensionnable
fm.caption("Bonjour tout le monde");
button btn(fm, nana::rectangle(20, 20, 150, 30));
btn.caption("Quitter");
btn.events().click(API::exit); // API::exit est une fonction qui sera exécutée à la suite d'un click
fm.show();
exec();
}
VersionsSelon les pages du projet sur SourceForge.net[5] :
Les pages de la préversion du projet sur SourceForge.net[6] font remonter la première version 0.1.0 au . Notes et référencesNotes
Références
Voir aussiArticle connexeLiens externes |