Um framework, é uma ferramenta compacta 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. É o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle.