Software Framework

Why Trust Techopedia

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.

Advertisements

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.

Advertisements

Related Terms

Margaret Rouse
Technology Specialist
Margaret Rouse
Technology Specialist

Margaret is an award-winning writer and educator known for her ability to explain complex technical topics to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles in the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret’s idea of ​​a fun day is to help IT and business professionals to learn to speak each other’s highly specialized languages.