# Framework

Um *framework* é uma estrutura na qual você pode construir [*softwares*](https://pt.glossario.w3d.community/s/software). Ele serve como uma base, então você não está começando inteiramente do zero. Os *frameworks* são normalmente associados a uma linguagem de programação específica e são adequados para diferentes tipos de tarefas. Digamos que você esteja construindo uma casa. Você pode fazer a fundação e subir a estrutura você mesmo. Levaria muito tempo, mas você poderia fazê-lo. Se tudo isso já tivesse sido feito para você, no entanto, economizaria um pouco de esforço, especialmente se fosse feito por construtores ou engenheiros especializados. No desenvolvimento de *software*, um *framework* serve a um propósito semelhante. Ele foi projetado e testado por outros desenvolvedores e engenheiros de *software*, para que você saiba que é uma estrutura sólida. No entanto, uma casa não está completa apenas com a estrutura. Precisa de paredes, teto, pintura, acabamento, etc. Da mesma forma, um *framework* em desenvolvimento de *software* é um ponto de partida, e você vai adicionando funcionalidades para fazê-lo funcionar.
