Joomla! 1.0 component tutorial - part 1: front-end
A tutorial explaining how simple component for Joomla! CMS 1.0 works, and how to create a component. One may wonder why to write about version 1.0 of Joomla!, when version 1.5 is almost ready (as of January 2007). I think version 1.0 is still a very good framework: one can get to know how Joomla! works, extend the PHP knowledge, and prepare for Joomla! 1.5, which is a lot different and more advanced. And since there rather will not be upgrade possible from 1.0 to 1.5, just migration (hopefully a fast and easy one, thanks to great developers), there may be still a lot of existing web sites working on Joomla! 1.0 for quite some time.

Official Joomla! web site contains a lot of useful information:

help.joomla.org > Developer > Components

Joomla! Development Wiki

There are of course tutorials of Joseph LeBlanc , and let's not forget about the most important part - security:

Guide to more secure components


1. What is a component ?


Component is mini-application working in Joomla! enviroment. There are a few component included with Joomla! installation: com_banners, com_contact, com_content, com_weblinks and others. These core components cannot be uninstalled, of course.
Components show information in frontend and backend, as Joomla! does.

2. Simplest component

The very simplest component has only two files:
very_simple.php
very_simple.xml

Download zip file and install this sample component as usual in Joomla! Then create menu position pointing to the component. If there were no errors during installation the component should work now - it should display either "you are not logged in" or "welcome back" if you are logged in from frontend.

Joomla! installer creates two folders for the component (com_simplest), and will put these files there:
administrator/components/com_simplest/simplest.xml
components/com_simplest/simplest.php

The xml file is the "definition" file for the component - it contains details about it, list of files, SQL queries to perform during installation and after uninstalling it.
The php file is the actual frontend of a component.