Application Framework

Why Trust Techopedia

What Does Application Framework Mean?

An application framework is a software library that provides a fundamental structure to support the development of applications for a specific environment. An application framework acts as the skeletal support to build an application. The intention of designing application frameworks is to lessen the general issues faced during the development of applications. This is achieved through the use of code that can be shared across different modules of an application. Application frameworks are used not only in the graphical user interface (GUI) development, but also in other areas like web-based applications.

Advertisements

Application frameworks are not a recently emerged idea. Some of the old application frameworks that are still used today are the SmallTalk user interface framework, MacApp (for Macintosh), and Struts (for Web-based Java applications).

Techopedia Explains Application Framework

Due to the desire to create GUIs in applications with less development effort, application frameworks proved to be a good solution, by providing a standard framework with underlying pre-defined code structure. For example, MFC (Microsoft Foundation Classes) is an application framework used in the Windows environment to develop applications in the C++ language. MFC has all the tools for automatic code generation for GUI controls within the framework.

An application framework acts as a tool to supply the structure and templates for constructing an application. By using object-oriented techniques while implementing the framework, pre-existing classes can be used to build the applications easily. Advantages of using application frameworks are:

  • The componentization of the framework allows developers to use it in a piece-by-piece fashion. This results in better allocation of developers based on their expertise, reduction in errors, and a lower cost of development.
  • Code and design reusability helps in the usage of tested components, which increases the quality.
  • Extensibility for customizing the framework to implement business requirements.
  • Simplicity is achieved by the encapsulation feature, which helps control components access and provide data security.
  • Better code maintenance because all the base code is centralized in a single location.
  • In addition to the code, the predefined interactions between different classes form a template to reduce the development effort. This provides a better beginning for software development and aids in rapid application development.
Advertisements

Related Terms

Margaret Rouse
Technology expert
Margaret Rouse
Technology expert

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.