Un framework, o marco de trabajo de software, es una plataforma para desarrollar aplicaciones de software. Proporciona una base sobre la que los desarrolladores de software pueden construir programas para una plataforma específica. Por ejemplo, un marco de trabajo puede incluir clases y funciones predefinidas que pueden utilizarse para procesar entradas, gestionar dispositivos de hardware e interactuar con el software del sistema. Esto agiliza el proceso de desarrollo, ya que los programadores no necesitan reinventar la rueda cada vez que desarrollan una nueva aplicación.
Un framework es similar a una interfaz de programación de aplicaciones (API), aunque técnicamente un framework incluye una API. Como su nombre indica, un framework sirve de base para la programación, mientras que una API proporciona acceso a los elementos soportados por el framework. Un framework también puede incluir bibliotecas de código, un compilador y otros programas utilizados en el proceso de desarrollo de software.
Existen varios tipos diferentes de frameworks de software. Algunos ejemplos populares son ActiveX y .NET para el desarrollo en Windows, Cocoa para Mac OS X, Cocoa Touch para iOS y el Android Application Framework para Android. Existen kits de desarrollo de software (SDK) para cada uno de estos marcos e incluyen herramientas de programación diseñadas específicamente para el marco correspondiente. Por ejemplo, el software de desarrollo Xcode de Apple incluye un SDK para Mac OS X diseñado para escribir y compilar aplicaciones para el marco de trabajo Cocoa.
En muchos casos, un marco de trabajo de software es soportado de forma nativa por un sistema operativo. Por ejemplo, un programa escrito para el marco de aplicaciones de Android se ejecutará en un dispositivo Android sin necesidad de instalar otros archivos adicionales. Sin embargo, algunas aplicaciones requieren un marco específico para poder ejecutarse. Por ejemplo, un programa de Windows puede requerir Microsoft .NET Framework 4.0, que no está instalado en todas las máquinas Windows (especialmente en los PC que ejecutan versiones antiguas de Windows). En este caso, el paquete de instalación de Microsoft .NET Framework 4 debe instalarse para que el programa pueda ejecutarse.
NOTA: Aunque los frameworks generalmente se refieren a amplias plataformas de desarrollo de software, el término también puede utilizarse para describir un framework específico dentro de un entorno de programación más amplio. Por ejemplo, se pueden utilizar varios marcos de trabajo de Java, como Spring, ZK y el Marco de Colecciones de Java (JCF) para crear programas de Java. Además, Apple ha creado varios frameworks específicos a los que pueden acceder los programas de OS X. Estos frameworks se guardan con una extensión de archivo .FRAMEWORK y se instalan en el directorio /System/Library/Frameworks. Algunos ejemplos de frameworks de OS X son AddressBook.framework, CoreAudio.framework, CoreText.framework y QuickTime.framework.
Actualizado: 7 de marzo de 2013