From Joomla! Documentation

A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software. Software frameworks can be object-oriented designs. Although designs don't have to be implemented in an object-oriented language, they usually are. A software framework may include support programs, code libraries[1], a scripting language[2], or other software to help develop and glue together the different components of a software project. Various parts of the framework may be exposed through an application programming interface (API).

From Wikipedia
The Joomla! Framework is a Three Tiered System
  • The top, Extensions layer, consists of Extensions to the Joomla Framework and its applications:
  • The middle, Application layer, consists of applications that extend the Framework JApplication class. There are three applications included in the Joomla distribution (four in Joomla 1.5):-
    • JInstallation is responsible for installing Joomla on a web server and is deleted after the installation procedure has been completed.
    • JAdministrator is responsible for the back-end Administrator.
    • JSite is responsible for the front-end of the website.
    • XML-RPC Joomla 1.5 supports remote administration of the Joomla website. For Joomla 1.6 onwards see Xml-rpc
  • The bottom, Framework layer, consists of:-
    • the Joomla Framework itself, whose classes are listed below.
    • Libraries that are required by the Framework or are installed for use by third-party developers.
    • Plugins extend the functionality available in the Framework.

Packages and Classes[edit]

The classes in the Joomla! Framework are loosely grouped into several different packages, listed below. The links will take you to further information about each class including, where possible, examples of use. You can also browse the Joomla Framework and included libraries on api.joomla.org which is automatically generated by the phpDocumentor package from an analysis of the Joomla! source code, making use of specially formatted comments embedded in the source code itself. These two resources, one manually maintained, the other automatic, are intended to complement one another.

If you would like to help us improve this resource, please read API Reference Project.

  1. See also External Libraries in Joomla bundled with Joomla!
  2. See also JavaScript libraries bundled with Joomla!