An application framework is a software library that provides a fundamental structure to support the development of applications for a specific environment.
- It consists of a software framework used by software developers to implement the standard structure of an application.
- Became popular with the rise of graphical user interfaces (GUIs) since these tended to promote a standard structure for applications.
- Programmers find it much simpler to create automatic GUI creation tools when using a standard framework since this defines the underlying code structure of the application in advance.
- Developers usually use object-oriented programming techniques to implement frameworks such that the unique parts of an application can simply inherit from pre-existing classes in the framework.
Frameworks are implemented as a collection of concrete and abstract object classes in an object-oriented programming language, therefore, are language-specific.
- There are frameworks available in all of the commonly used object-oriented programming languages like Java, C#, C++, as well as dynamic languages such as Ruby and Python.
- In fact, a framework can incorporate several other frameworks, where each of these is designed to support the development of part of the application.
- We can use a framework to create a complete application or to implement part of an application, such as the graphical user interface.
The three classes of frameworks:
System infrastructure frameworks
These frameworks support the development of system infrastructures such as communications, user interfaces, and compilers.
Middleware integration frameworks
These consist of a set of standards and associated object classes that support component communication and information exchange. Examples of this type of framework include Microsoft’s .NET and Enterprise Java Beans (EJB). These frameworks provide support for standardized component models.
Enterprise application frameworks
These are concerned with specific application domains such as telecommunications or financial systems. These embed application domain knowledge and support the development of end-user applications.
55 total views, 0 views today