An Application framework
is a term usually used to refer to a set of libraries
or classes that are used to implement the standard structure of an application
for a specific operating system
. By bundling a large amount of reusable code into a framework, much time is saved for the developer, since she is saved the task of rewriting large amounts of standard code for each new application that is developed. Application frameworks became popular with the rise of the GUI
, since these tended to promote a standard structure for applications. It is also much simpler to create automatic GUI creation tools when a standard framework is used, since the underlying code structure of the application is known in advance. Object-oriented
programming techniques are usually used to implement frameworks such that the unique parts of an application can simply inherit from pre-existing classes in the framework.
One of the first commercial frameworks was MacApp, written by Apple Computer for the Macintosh. Originally written in an extended (object-oriented) version of Pascal, it was later rewritten in C++. Other popular frameworks for the Mac include Metrowerks Powerplant and MacZoop (all based on Carbon). A different approach to an application framework is Cocoa for Mac OS X.
Microsoft created a similar product for Windows called the Microsoft Foundation Classes or MFC.
There are also a number of frameworks which will create identical applications for both Macintosh and Windows from the same source code.