framework

noun

A framework is a coherent foundation for software development, providing reusable code, a defined structure and conventions for building an application.

The development team chose a framework with support for user permissions and database access.

A framework gives developers a foundation on which to build software. It contains existing code for common tasks and often determines how application components are organized. The team does not have to recreate the same facilities for every project.

What does a framework handle?

The features depend on the framework's area of use. A web framework might route requests to the appropriate code, process data from a Glossary · In briefdatabaseA database is a structured collection of data that software can store, retrieve and modify. A database management system controls access to that data.Read more and help with Glossary · In briefauthenticationAuthentication is the process by which a system verifies the claimed identity of a user, device or application.Read more. A user interface framework can provide conventions for Glossary · In briefcomponentA component is a distinct part of software with its own task and a clear way of interacting with other parts.Read more, data and changes on screen.

The fixed structure makes code familiar to developers who know the framework. In return, the team must follow certain choices and practices. Some frameworks prescribe a lot, while others offer a lighter foundation. Examples from web development include Ruby on Rails, Vue and NestJS.

Framework or library?

A Glossary · In brieflibraryA library is a collection of reusable software code for a defined task. An application can call that code to use existing functionality.Read more is usually a collection of code for a specific task. The application calls that code when needed. A framework determines more of the application's structure and calls application code at defined points. The main difference is how much structure and control the tool takes on.

In practice, the boundary is not always clear. A technology may officially be a library but function as a framework when combined with other components in a project. Its features, imposed structure and maintenance therefore matter more than the label.