Project Goals
1. Primary goals
The primary project goal is providing a simple, portable and easy to use GUI toolkit, that may be used for any purpose (including commercial products), "so that the code gets the widest possible use and provides the widest possible benefit" (FreeBSD handbook). These are the project main principles:
- Written in pure standard C++, with clean and readable object-oriented code from the ground up (no macros, no void* pointers);
- Platform independent: lightforms must supply an API with no dependencies on any platform; most of the lightforms source code itself is platform independent, keeping the specific platform implementation code inside a small group of classes. Initial implementations of lightforms target Windows (through Win32), FreeBSD and Linux (through xlib).
- Performance: Contrary to some other toolkits, lightforms aims small memory footprint and good performance in every platform supported, from the ground up. In other words, lightforms is developed from the beginning targeting multiple platforms, and goodd performance in each single platform is a concern.
- Support for other languages: Although not a primary goal, support for other object-oriented languages like C# may be provided, specially for Mono.
- Licensed under the BSD license