In this chapter, we have seen that Joomla! 1.5 is based on a comprehensive and flexible framework that is easily and securely extended through a wide variety of extensions. There are essentially six types of extensions: components, modules, plugins, languages, templates, and tools. As we have seen, each type has a very specific use. We have briefly discussed the way in which extensions of different types can be dependent upon one another.
We learned that there are many development tools available, both open source and commercial, some that are and some that are not Joomla! specific. The developers' forge is also a great resource available to Joomla! extension developers.
We also learned that the coding standards that we use are ultimately up to us, but we should consider using the same standards as those implemented by the Joomla! project. If we choose not to use these standards, we should still consider adding doctags to our classes and functions because they can greatly decrease development and debug time.
In the next chapter, we will delve deeper into the Joomla! basic design and explore how applications are created, initialized, and executed. We will also discuss the basic directory and file structure that makes up a Joomla! website. Anyone who intends to develop Joomla! extensions needs to have a solid understanding of how Joomla! works.