Framework
Um framework, ou framework de software, é uma plataforma para desenvolver aplicativos de software. Ele fornece uma base sobre a qual os desenvolvedores de software podem criar programas para uma plataforma específica. Por exemplo, um framework pode incluir classes e funções predefinidas que podem ser usadas para processar entradas, gerenciar dispositivos de hardware e interagir com o software do sistema. Isso torna o processo de desenvolvimento mais eficiente, pois os programadores não precisam reinventar a roda cada vez que desenvolvem um novo aplicativo.
Um framework é semelhante a uma interface de programação de aplicações (API), embora, tecnicamente, um framework inclua uma API. Como o nome sugere, um framework serve como base para a programação, enquanto uma API fornece acesso aos elementos compatíveis com o framework. Um framework também pode incluir bibliotecas de código, um compilador e outros programas usados no processo de desenvolvimento de software.
Existem vários tipos diferentes de frameworks de software. Exemplos populares incluem ActiveX e .NET para o desenvolvimento para Windows, Cocoa para o Mac OS X, Cocoa Touch para o iOS e o Android Application Framework para o Android. Kits de desenvolvimento de software (SDKs) estão disponíveis para cada um desses frameworks e incluem ferramentas de programação desenvolvidas especificamente para o framework correspondente. Por exemplo, o software de desenvolvimento Xcode, da Apple, inclui um SDK do Mac OS X desenvolvido para escrever e compilar aplicativos para o framework Cocoa.
Em muitos casos, um framework de software é compatível nativamente com um sistema operacional. Por exemplo, um programa escrito para o Android Application Framework será executado em um dispositivo Android sem exigir a instalação de outros arquivos adicionais. No entanto, alguns aplicativos exigem um framework específico para serem executados. Por exemplo, um programa do Windows pode exigir o Microsoft .NET Framework 4.0, que não está instalado em todas as máquinas com Windows, especialmente em PCs que executam versões mais antigas do Windows. Nesse caso, o pacote de instalação do Microsoft .NET Framework 4 precisa ser instalado para que o programa seja executado.
NOTE: Embora frameworks geralmente se refiram a plataformas amplas de desenvolvimento de software, o termo também pode ser usado para descrever um framework específico dentro de um ambiente de programação maior. Por exemplo, vários frameworks de Java, como Spring, ZK e o Java Collections Framework (JCF), podem ser usados para criar programas Java. Além disso, a Apple criou vários frameworks específicos que podem ser acessados por programas do OS X. Esses frameworks são salvos com a extensão de arquivo .FRAMEWORK e instalados no diretório /System/Library/Frameworks. Exemplos de frameworks do OS X incluem AddressBook.framework, CoreAudio.framework, CoreText.framework e QuickTime.framework.
Teste seus conhecimentos