Software Framework

What Does Software Framework Mean?

A software framework is a concrete or conceptual platform where common code with generic functionality can be selectively specialized or overridden by developers or users. Frameworks take the form of libraries, where a well-defined application program interface (API) is reusable anywhere within the software under development.


Techopedia Explains Software Framework

Certain features make a framework different from other library forms, including the following:

  • Default Behavior: Before customization, a framework behaves in a manner specific to the user’s action.
  • Inversion of Control: Unlike other libraries, the global flow of control within a framework is employed by the framework rather than the caller.
  • Extensibility: A user can extend the framework by selectively replacing default code with user code.
  • Non-modifiable Framework Code: A user can extend the framework, but not modify the code.

The purpose of software framework is to simplify the development environment, allowing developers to dedicate their efforts to the project requirements, rather than dealing with the framework’s mundane, repetitive functions and libraries. For example, rather than creating a VoIP application from scratch, a developer using a prepared framework can concentrate on adding user-friendly buttons and menus, or integrating VoIP with other functions.


Related Terms

Latest Privacy and Compliance Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…