A support structure on which software programs can be developed and organized. It provides a predefined base of code and tools to facilitate the development of robust and scalable applications.