-
Notifications
You must be signed in to change notification settings - Fork 6
Home
π Link to documentation provided by Jin Hao:octocat:
alternative link that point to some other GitHub page.
Doxygen generated documentation
π§ Under construction
The Nana project is aimed at providing a software framework for cross-platform GUI programming in standard and modern C++, with components, such as graphics user interface and threads, written with Object Oriented and Generic programing.
Being written in Standard C++ means that Nana works great with modern C++ features, such as lambdas, concurrency, the STL and so on. It will give you wonderful experiences on GUI programming with C++11.
It also means that you will not need to use or learn any non standard extension or magic macros for obscure code generation. Only standard use of templates will make some kind of code generation. In fact no macros are used, and only a few #define
are used exclusively for configuration.
It also means that there aren't any re implementation of string or any other std:: containers.
Using its own widgets and drawing functions abstracted with the Nana abstract GUI system, it allows for writing portables programs on supported OS, such as Windows/Linux(X11).
Aimed solely at GUI, Nana not pollute your executable with anything innecesary: typical statically linked release-executables will be of few MB (1 to 3 even for non trivial application, less than 1 MB for the demos). This make Nana ideal for beginners (no need of any installation to distribute - you will not have the problem: it works only in my machine!), but also to distribute applications in many large organizations where users can run programs but not change the systems.
Nana is a free/open-source library distributed under Boost Software License, which is a lax, permissive non-copyleft free software license.
Now, Nana is trying to build an active developer community to give help in using this library.
Is very simple. Basically you copy the source code of nana (which is tiny: 0.5 MB in zip) and tell your build system where it is. Follow the link for detailed information.
Nana is a C++ framework with provides GUI, threads and file system API. It provides many basic classes and functions for cross-platform programming. Although C++ is a powerful and syntax-agile language, in fact, many programmers don't like to do GUI in C++, because it seems to be very difficult. Some existing C++ GUI frameworks define their own rule that forced you write some stiff code that always causes some problems, such as leaving your code in a deep inheritance hierarchy, making maintenance painful. Now, the Nana C++ Library is an alternative, a pure C++ library that will guide you in doing GUI with your immense and extensive C++ knowledge/skill/idioms. It makes a great progress in doing GUI in C++.
See also:
Using place for layouts | Threading | RAII | Cross-Platform Programming | Hello World