Libgreattao is project with first published version in 2011. It aims to provide better user expirence and simpler programming interface than lot of UI library. It also can uses many backends for normal mode, like GTK+2, QT4 and console, but instead working in normal mode it can works in network and shell mode.
Libgreattao is library, which tries to solve following problems:
- Programs, such like dialog should working in graphical mode and be able to work in many desktop enviornments
- There's many similar programs, but designed to working in different desktop enviornments or use different toolkits
- User couldn't modify UI in simple manner
Libgreattao tries to solve these problems by decoupling UI and bussines logic. You can think about libgreattao as connection between wxWidgets, XUL and XSLT, but application is only like XML. Application exposing interface to libgreattao and behaviour of libgreattao is dependend on working mode. In normal mode it tries to found matching to application function in window class, in next step it creates interface abstraction elements, such like buttons, etc. After this step, mWidgets uses backends to create native elements, such like GtkButton, GtkLabel, etc. In shell mode this processing don't takes place. All exposed interfaces are available on shell. In server mode this processing don't takes places too.