Un framework es un conjunto estandarizado de conceptos, prácticas y criterios que sirve como referencia para enfrentar problemas similares. En desarrollo de software, un framework provee una estructura conceptual y tecnológica para organizar y desarrollar software, facilitando el desarrollo y permitiendo enfocarse en requerimientos en lugar de detalles técnicos. Aunque los frameworks agilizan el desarrollo, también pueden agregar código innecesario y requerir tiempo para aprenderlos.