Nana (C++ library)


Nana is a cross-platform C++ library for creating graphical user interfaces. It uses a platform-independent API and currently supports Windows and Linux platforms.
Nana is free and open-source software, licensed under the Boost Software License.

Architecture and design

Nana is an object-oriented widget toolkit using generic programming and written in Standard C++. It can therefore be compiled by any Standard C++ compiler.
The primary design goal of Nana is to make things simple and intuitive to C++ developers: it therefore uses many advanced C++ features, such as templates, standard libraries, exception and RTTI. It fully supports C++11 since 2012, giving the developers the freedom to use various modern C++ features such as lambda functions, smart pointers and the standard library.

Language bindings

Nana was written in C++ and targets only this language.
The following Nana example creates a window with a "Hello, World" caption and a "Quit" button:

  1. include
  2. include
int main

Versions

The current version 1.5.5 was released on Sep 05, 2017.
According to the project's SourceForge repository:
The SourceForge repository of the alpha release of the project, traces the first release 0.1.0 back to December 4, 2007.