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.


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.

Related Terms

Margaret Rouse

Margaret jest nagradzaną technical writerką, nauczycielką i wykładowczynią. Jest znana z tego, że potrafi w prostych słowach pzybliżyć złożone pojęcia techniczne słuchaczom ze świata biznesu. Od dwudziestu lat jej definicje pojęć z dziedziny IT są publikowane przez Que w encyklopedii terminów technologicznych, a także cytowane w artykułach ukazujących się w New York Times, w magazynie Time, USA Today, ZDNet, a także w magazynach PC i Discovery. Margaret dołączyła do zespołu Techopedii w roku 2011. Margaret lubi pomagać znaleźć wspólny język specjalistom ze świata biznesu i IT. W swojej pracy, jak sama mówi, buduje mosty między tymi dwiema domenami, w ten…