Sok esetben előfordulhat, hogy nem találjuk meg a nekünk megfelelő bővítményt a Joomla! Bővítmények weboldalán, így ilyen esetekben egyedi bővítményfejlesztésre van szükség.
A fejlesztésnél nagy segítséget nyújthat a hivatalosan oldalon elérhető Joomla! Docs oldalak, ahol programozási példákon keresztül kerül bemutatásra a Joomla! rendszer felépítése.
A Joomla! 1.5-ös verziójától kezdve megköveteli az úgy nevezett MVC modell (Modell View Controller) használatát a bővítmények felépítéseinél. Ennek nagy előnye, hogy külön van választva az adatok bázisa - modellje, megjelenítése és az adatok irányítója.
Működése igen egyszerű. A felhasználó elindít egy hivatkozást a böngészőjében, amit megkap a webszerver és azt továbbítja az Útvonalaknak, ami lefordítja azt. Ezt a lefordított információt kapja meg az Irányító, ami eldönti, hogy melyik Vezérlő kapja. Miután az információ bekerült a megfelelő Vezérlőbe, az meghívja a hozzá megfelelő Modellt - ami összegyűjti az adatokat – és a megfelelő Megjelenítést. A hívások után az információk visszakerülnek a webszerverhez, ami a webböngészőn keresztül megjeleníti a kért információkat. A Joomla! MVC használata esetén, nem kell az alap kódot változtatni ahhoz, hogy másik modellt, vagy másik megjelenítést használjunk az oldalon. A sablonban beállítható az egyes komponensek (pl. a cikkíró komponens a com_content) megjelenítése. Ez azért elegáns megoldás, mert esetleges frissítéskor a változtatott kód nem íródik át, mivel ez a sablon mappájában található.