Nana (bibliothèque)

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

Informations
Développé par Jin Hao
Dernière version 1.6.1 ()
Écrit en C++
Système d'exploitation Microsoft Windows
Environnement Windows et Linux sous X11]
Type Bibliothèque graphique
Licence Licence logicielle Boost
Site web nanapro.org

Pour les articles homonymes, voir Nana.

Nana est un logiciel gratuit à code source ouvert utilisable selon les termes de la licence logicielle Boost.

Conception et architecture

Nana 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 langage

Nana 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();
}

Versions

Selon les pages du projet sur SourceForge.net[5] :

  • en 2015, 10 versions 1.x.x ont été publiées ;
  • entre le milieu de 2013 et le début de 2015, 24 versions 0.x.x ont été publiées.

Les pages de la préversion du projet sur SourceForge.net[6] font remonter la première version 0.1.0 au .

Références

Voir aussi

Article connexe

Liens externes

  • Portail de l’informatique
  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.