Apache Portable Runtime
Apache Portable Runtime | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Información general | |||||||||||
Tipo de programa | Biblioteca | ||||||||||
Desarrollador | Apache Software Foundation | ||||||||||
Licencia | Apache License 2.0 | ||||||||||
Información técnica | |||||||||||
Programado en | Java | ||||||||||
Versiones | |||||||||||
Última versión estable |
| ||||||||||
Enlaces | |||||||||||
Sitio web oficial Repositorio de código Seguimiento de errores | |||||||||||
[editar datos en Wikidata] |
Apache Portable Runtime (APR) es una biblioteca de soporte para el servidor web Apache. Provee un conjunto de API que permiten recurrir al sistema operativo (SO) subyacente. En los casos en que el SO soporta una función particular, APR provee una emulación de la misma. Por tanto, los programadores pueden emplear APR para lograr que un programa sea verdaderamente portátil a través de diversas plataformas.
Originalmente, APR formaba parte del Servidor HTTP Apache, pero la Fundación Apache lo organizó como un proyecto separado. Otras aplicaciones pueden usarlo para lograr independencia de las plataformas.
Funcionalidad
Entre las funciones independientes de plataformas ofrecidas por APR se incluyen:
- Funcionalidad de gestión de memoria y de pool de memoria
- Instrucciones atómicas
- Gestión dinámica de bibliotecas
- Entrada/salida de archivos
- Análisis de argumentos de la línea de comandos
- Locking
- Tablas hash y arreglos
- Funcionalidad de mapeo en memoria
- Sockets y protocolos
- Hilos de ejecución, control de procesos y funcionalidad de mutex
- Funcionalidad de memoria compartida
- Rutinas de temporización
- Servicios de identificación de usuarios y grupos
Proyectos similares
- Glib provee una funcionalidad similar. Soporta muchas más estructuras de datos y funciones independientes del sistema operativo, pero menos funciones relacionadas con la comunicación entre procesos. (Glib carece de locking local y global, así como de facilidades de manejo de memoria compartida.)
- NSPR es una biblioteca de abstracción multiplataforma usada por el proyecto Mozilla. Es usada por otro subproyecto de Mozilla, XPFE, para ofrecer una funcionalidad de interfaz gráfica de usuario (GUI) con características multiplataforma.
- Adaptive Communication Environment (ACE) es una biblioteca orientada a objetos escrita en C++, similar a APR en cuanto a su funcionalidad. Tiene una amplia difusión como parte de productos comerciales.[1]
- commonc++ es una biblioteca multiplataforma de clases C++ para la programación de sistemas, con una funcionalidad muy parecida a la de APR.
- POCO es un framework moderno para C++, de concepción similar pero más extensiva que la de APR.
- WxWidgets es una biblioteca multiplataforma orientada a objetos para la interfaz gráfica de usuario que también provee clases de abstracción destinadas a la comunicación de bases de datos, IPC y funciones destinadas a la comunicación en red.
- Qt, un framework multiplataforma para el desarrollo de aplicaciones con características similares, también puede ayudar al desarrollo de GUIs.
Referencias
- ↑ «ACE and TAO Success Stories». Archivado desde el original el 29 de agosto de 2008. Consultado el 31 de julio de 2008.
Enlaces externos
- Sitio oficial del proyecto
- La documentación actual para la programación con APR
- Sitio web de Apache Software Foundation
- Tutorial de programación APR
Datos: Q617014