The (APR) is a supporting library for the
Apache Web Server . It provides a set of
API s that map to the underlying operating system. Where the OS doesn't support a particular function, APR will provide a replacement. Thus, the APR can be used to make a program truly portable across platforms.
APR was originally a part of Apache, but has now been spun off into a separate project of the
Apache Software Foundation , and is used by other applications to achieve platform independence.
The range of platform-independent functionality provided by APR includes:
A very simple tutorial that explains how to compile and install Apache Portable Runtime (apr) on Linux can be found
here .
- Glib provides similar functionality. It supports many more data structures and OS-independent functions, but fewer IPC -related functions (local and global locking, dynamic loading, or shared memory management are not provided).
- NSPR is a cross-platform abstraction library used by the Mozilla project. It is used by another subproject of Mozilla XPFE to provide cross-platform Graphical User Interface (GUI) functionality.
- Adaptive Communication Environment (ACE) is an object-oriented library written in C++ similar in functionality to APR. It is widely deployed in commercial products.
- WxWidgets is an object-oriented cross-platform GUI library that also provides abstraction classes for database communication, IPC and networking functionality.
- Qt is a cross-platform application development framework with similar features and can also be used for GUI development.