Framework refers to a basic underlying structure in software engineering, which serves the programmer as a development structure for his application programming. Frameworks are mainly used in object-oriented software development and component-based development approaches.


A framework includes the basic building blocks of a program and thus determines the basic structure design for the developed software. It contains abstract and concrete classes and additionally supports the creation of applications. It is important to know that the framework itself is not a completed program, but will be used by programmers only as a design pattern.

A programmer specifies a particular type of implementation, which is then controlled and used by the framework. In general, frameworks are developed with the aim of reusing architectural application patterns. Some application examples are graphical editors, accounting systems or Internet stores. A platform-independent framework, for example, is Ruby on Rails.

Framework types[edit]

Frameworks can generally be divided as follows:

  • Application frameworks:

These frameworks form a basic programmer structure for certain types of applications. They provide function and structure that are of importance to all applications of that type.

  • Domain frameworks:

Domain frameworks create the programming structure for a particular problem area and thus provide functions for solving this problem.

  • Class frameworks:

Framework here are a combination of classes and methods that can be used for a wide range of applications. They support the programmer’s application implementation at a certain abstract level.

  • Component frameworks:

These frameworks provide an environment for the development and integration of software components, which are a set of classes and usually have a clearly defined interface.

  • Coordination frameworks:

These frameworks provide the ability to set up device interactions and serve to guarantee seamless compatibility.

  • Testing frameworks:

As the name suggests, this framework is used for testing developed software. Well-known examples are JUnit for module testing and Selenium for testing web applications.

  • Web frameworks:

Web frameworks are designed for the development of dynamic websites and web applications. In this respect, they provide methods and functions to support developers.

Application for SEO[edit]

In the field of search engine optimization, frameworks are often used as a basic structure for SEO tools. They provide, for instance, options to implement keyword analyses, keyword searches, the creation of links, and more. SEO frameworks support the developer and provide the basic structure for the creation of new software.

Web Links[edit]