Balau Documentation

Developer manual:

API documentation:

Main Balau Git repository:


Balau is a C++ application framework designed for enterprise quality C++ software development.

Following the recent revisions of the language, C++ has matured to become an attractive candidate for rapid enterprise quality application development. Balau provides tools designed to support the rapid development of high performance C++ enterprise quality applications.

Balau builds on the foundations of the ICU and Boost projects, and focuses on using modern C++17 features and the standard unicode string classes.

The library has been conceived for the development of applications that have a dependency injection based architecture, have complex logging requirements, and will be developed with a test driven development methodology. Balau has also been designed to provide a base on which Unicode aware C++ software applications may be written with ease.

Four key components of the Balau library are the injector, the environment configuration framework, the logging system, and the test runner. In this respect, part of Balau is a C++ equivalent to the de facto standard Java application development components consisting of the Java standard library for Unicode support, Guice/Spring for dependency injection and environment configuration, Log4j/Slf4j/Logback for logging, and JUnit/TestNG for testing.

In addition to the injector, environment configuration, logger, and test runner, Balau also provides a set of components and utilities with simple APIs, including an HTTP/WebSocket web application framework.