Apache Portable Runtime

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) Apache Software Foundation
Stable release 1.4.5
Development status Active
Written in C
Operating system Cross-platform
Type Development Library
License Apache License 2.0
Website http://apr.apache.org

The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system (OS). Where the OS doesn't support a particular function, APR will provide an emulation. Thus programmers can use the APR to make a program truly portable across platforms.

APR originally formed a part of Apache HTTP Server, but the Apache Software Foundation spun it off into a separate project. Other applications can use it to achieve platform independence.

Contents

[edit] Functionality

The range of platform-independent functionality provided by APR includes:

[edit] Similar projects

  • Glib provides similar functionality. It supports many more data structures and OS-independent functions, but fewer IPC-related functions. (Glib lacks local and global locking and shared-memory management.)
  • 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[1].
  • commonc++ is a cross-platform C++ class library for systems programming, with much of the same functionality as APR.
  • POCO is a modern C++ framework similar in concept but more extensive than APR.
  • WxWidgets is an object-oriented cross-platform GUI library that also provides abstraction classes for database communication, IPC and networking functionality.
  • Qt, a cross-platform application development framework with similar features, can also foster GUI development.

[edit] References

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages