In
computer programming, an application framework consists of a
software framework
In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard ...
used by
software developer
Software development is the process of conceiving, specifying, designing, Computer programming, programming, software documentation, documenting, software testing, testing, and Software bugs, bug fixing involved in creating and maintaining applic ...
s to implement the standard structure of
application software.
Application frameworks 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 (OOP) techniques to implement frameworks such that the unique parts of an application can simply inherit from classes extant in the framework.
Examples
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
developed one of the first commercial application frameworks,
MacApp (first release 1985), for the
Macintosh. Originally written in an extended (object-oriented) version of
Pascal
Pascal, Pascal's or PASCAL may refer to:
People and fictional characters
* Pascal (given name), including a list of people with the name
* Pascal (surname), including a list of people and fictional characters with the name
** Blaise Pascal, Fren ...
termed
Object Pascal, it was later rewritten in
C++. Another notable framework for the Mac is Metrowerks'
PowerPlant, based on
Carbon.
Cocoa
Cocoa may refer to:
Chocolate
* Chocolate
* ''Theobroma cacao'', the cocoa tree
* Cocoa bean, seed of ''Theobroma cacao''
* Chocolate liquor, or cocoa liquor, pure, liquid chocolate extracted from the cocoa bean, including both cocoa butter and ...
for
macOS offers a different approach to an application framework, based on the
OpenStep framework developed at
NeXT.
Free and open-source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
frameworks exist as part of the
Mozilla,
LibreOffice,
GNOME
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
,
KDE
KDE is an international Free software movement, free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-know ...
,
NetBeans, and
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
projects.
Microsoft markets a framework for developing
Windows applications in C++ called the
Microsoft Foundation Class Library, and a similar framework for developing applications with
Visual Basic or
C#, named
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
.
Several frameworks can build
cross-platform applications for
Linux, Macintosh, and Windows from common
source code, such as
Qt, the
widget toolkits
wxWidgets,
Fox toolkit, or
Eclipse Rich Client Platform (RCP).
Oracle Application Development Framework
In computing, Oracle Application Development Framework, usually called Oracle ADF, provides a Java framework for building enterprise applications. It provides visual and declarative approaches to Java EE development. It supports rapid application ...
(Oracle ADF) aids in producing
Java-oriented systems.
Silicon Laboratories offers an embedded application framework for developing wireless applications on its series of wireless chips.
MARTHA is a
proprietary software Java framework that all of the RealObjects software is built on.
References
{{Reflist
Programming tools
Proprietary software