A Smarty megalkotásának célja az volt hogy a megjelenítést szétválasszuk a programkódtól. Ez azért fontos, mert a designerek nem programozók általában, az ő munkájuk könnyebb a php template rendszer használatával. További előnye, hogy nem tudnak a php kódba belnyúlni, nem okozhatnak hibát, illetve nem is kell látniuk. A template rendszer használatával a php programkód is átláthatóbb.
A Smarty egy HTML-el együtt használható (beágyazott) scriptnyelv, egy közös felület, melyet a programozó és a designer közösen használva készítik el a weboldalt. Fő feladata, hogy szétválassza az alkalmazás logikáját, illetve a megjelenítési réteget. A Smarty modell-nézet-vezérlő szerűen sablonfájlokat használ, melyekben speciális Smarty „tagek” segítségével határozható meg a generált HTML, vagy XML kód.
A Smartyt 1999 óta fejlesztik. Először C nyelven kezdték fejleszteni, majd áttértek a PHP-ra. Eleinte nagy oldalak esetén lassú volt. Lassan megszületett a mai Smarty (Smarty 3.0 RC1 Released)