From Joomla! Documentation
This page contains many links to selected documentation concerning Component Development for and . A good place to start is with the Intro to Component Development articles below as they provide a good introductory base of knowledge to build on.
A component is a kind of Joomla! extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. An easy analogy would be that Joomla! is the operating system and the components are desktop applications. They are usually displayed in the center of the main content area of a template (depending on the template).
Most components have two main parts: an administrator part and a site part. The site part is what is used to render pages when being called during normal site operation. The administrator part provides an interface to configure and manage different aspects of the component and is accessible through the Joomla! administrator application.
Joomla! comes with a number of core components, like the content management system and contact forms.See also: Module, Plugin, Template