Apache Portable Runtime

{{Short description|Supporting library for the Apache web server}}

{{Infobox software

| name = Apache Portable Runtime

| logo = File:Apache_Portable_Runtime_Logo.svg

| developer = Apache Software Foundation

| latest release version = 1.7.4

| latest release date = {{Start date and age|2023|04|16}}{{cite web|url=https://www.apache.org/dist/apr/Announcement1.x.html|title=Apache Portable Runtime APR 1.7.4 Released|access-date=7 October 2023}}

| operating system = Cross-platform

| programming language = C

| genre = Development library

| license = Apache License 2.0

| website = {{URL|//apr.apache.org/}}

}}

{{Portal|Free and open-source software}}

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 does not 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.

Functionality

The range of platform-independent functionality provided by APR includes: {{cite web |title=Apache Portable Runtime modules |url=https://apr.apache.org/docs/apr/1.7/modules.html |publisher=Apache |access-date=23 September 2023}}

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.)
  • Netscape Portable Runtime (NSPR) is a cross-platform abstraction library used by the Mozilla project. It is used by another subproject of Mozilla application framework (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.{{cite web |title=ACE and TAO Success Stories |url=http://www.cs.wustl.edu/~schmidt/ACE-users.html |access-date=2008-07-31 |archive-url=https://web.archive.org/web/20080829164836/http://www.cs.wustl.edu/~schmidt/ACE-users.html |archive-date=29 August 2008 |url-status=dead }}
  • [https://web.archive.org/web/20110323034144/http://www.hyperrealm.com/main.php?s=commoncpp 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.
  • KDE Frameworks – used by KDE SC

References

{{Reflist|refs=

[http://www.internetnews.com/dev-news/article.php/3568241/Stable+Apache+Release+Hits.htm Stable Apache Release Hits], Sean Michael Kerner, 2 December 2005, "Apache Portable Runtime (APR) 1.0 API, which provides libraries that interface between the underlying operating system and the server."

}}