Um
framework (ou arcabouço), em
desenvolvimento de software, é uma
abstração que une
códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Um
framework pode atingir uma funcionalidade específica, por configuração, durante a programação de uma aplicação. Ao contrário das
bibliotecas, é o
framework quem dita o fluxo de controle da aplicação, chamado de
Inversão de Controle.