¿Qué es una aplicación?
Una aplicación, también denominada programa de aplicación o software de aplicación, es un paquete de software informático que realiza una función específica directamente para un usuario final o, en algunos casos, para otra aplicación.
Una aplicación puede ser autónoma o un grupo de programas. El programa es un conjunto de operaciones que ejecuta la aplicación para el usuario.
Algunos ejemplos de aplicaciones son los procesadores de texto, los programas de bases de datos, los navegadores web, las herramientas de desarrollo, los editores de imágenes y las plataformas de comunicación.
Las aplicaciones utilizan el sistema operativo (SO) del ordenador y otros programas de apoyo, normalmente software del sistema, para funcionar. Una aplicación solicita servicios a otras tecnologías y se comunica con ellas a través de una interfaz de programación de aplicaciones (API).
Aplicaciones frente a software de sistema
A diferencia del software de aplicación, los programas de software de sistema funcionan en segundo plano y no interactúan directamente con el usuario del ordenador.
El software de sistema gestiona el funcionamiento de un ordenador o instancia y suele incluir el sistema operativo, el hipervisor y los controladores. Generalmente son programas de bajo nivel o básicos en comparación con las aplicaciones orientadas al usuario final.
Las aplicaciones utilizan el software de sistema para acceder a los recursos básicos de hardware, como la memoria, el almacenamiento y otras utilidades. Por ejemplo, una aplicación depende del software del sistema para acceder al sistema de archivos para gestionar y almacenar archivos.
Tipos de aplicaciones
Las aplicaciones pueden variar en muchos aspectos, como la forma en que se construyen, la plataforma en la que se ejecutan, si son de código abierto o propietarias, o para qué mercado se utilizan.
Por ejemplo, un desarrollador de aplicaciones móviles escribe su código como una aplicación nativa, web o híbrida, y estos términos también pueden describir las aplicaciones de escritorio. El desarrollador codifica una aplicación nativa para que se ejecute en un hardware específico, como una cámara o un GPS, y en el mismo lenguaje de programación que el sistema operativo subyacente.
Por ejemplo, la aplicación Fotos en Mac OS X está escrita en Objective-C, el mismo lenguaje que utiliza Mac OS X.
Un usuario final suele acceder a una aplicación web a través de un navegador web, como Google Chrome. Un desarrollador puede escribir aplicaciones web en varios lenguajes, como JavaScript, CSS y HTML, pero no puede acceder al hardware en el que está instalada la aplicación.
Las aplicaciones híbridas tienen APIs que pueden acceder a los recursos del dispositivo, de forma similar a una aplicación nativa, pero suelen estar escritas en lenguajes como HTML y CSS. Además, los desarrolladores suelen codificar las aplicaciones móviles para que funcionen en una plataforma de dispositivo específica.
Las aplicaciones también pueden agruparse en categorías según el estilo de la licencia. Los programas de software propietario, como Adobe Photoshop, son aplicaciones con derechos de autor. Los usuarios finales pueden comprar o conceder licencias de aplicaciones propietarias a través del proveedor que proporciona el software.
No pueden modificar estas aplicaciones; sólo pueden añadirles funcionalidad a través de complementos de terceros. Las aplicaciones de código abierto, como WordPress, proporcionan el código fuente para que los usuarios finales y los desarrolladores puedan utilizarlo y modificarlo.
Las empresas de software y los desarrolladores individuales suelen poner las aplicaciones de código abierto a disposición del público bajo una licencia genérica o pública, como GNU.
Un desarrollador o equipo de desarrolladores puede crear una aplicación para un mercado vertical específico. Una aplicación vertical suele servir a una industria o necesidad departamental específica, como un sistema de facturación médica.
Por el contrario, una aplicación horizontal, como un procesador de textos o un navegador web, se aplica a una amplia gama de industrias.