Bistvo frameworka, oz. ogrodja je, da je reusable. Torej imaš eno ogrodje, s katerim začneš vsak projekt.
V bistvu je vsak programer, sploh v časih ko se je delalo vse from scratch, imel nek svoj framework, ki je bil sestavljen, vsaj iz "knjižice" za delo z bazo.
Frameworki, ki pa se omenjajo tukaj, pa so iz družine t.i. MVC frameworkov. Ti so se, kot skoraj vsaka stvar danes, zečeli pri javi (Spring), kot tudi naprimer razni ORM-ji (Hibernate), v bistvu danes praktično ni stvari, ki se uporablja pri "modernem" programiranju, ki ni prišla iz Jave.
MVC, je kratica za Model View Controller, kar pomeni, da imamo ločen podatkovni model (Model), ločeno logiko za prikaz (View) in ločeno "poslovno logiko", ki se nahaj v Controllerjih.
Se pravi to je ena prednost MVC frameworka, imamo ločen podatkovni model, prikazovanje in handlanje requestov in responsev.
Prednost je seveda jasna, večja preglednost, in pa možnost reusanje kode, spomnimo se časov "špageti kode", kjer si moral praktično vsakič it from scratch, ker ni blo možno reuse-anje.
Druga prednost pa je v raznih ORM-ji, knjižnicah in command line orodjih, ki ti delo bistveno olajšajo. Pri večini je tako, da z neki ukazi v command line-u, in nekaj nastavitvami, narediš delujočo aplikacijo, ORM-ji pa ti omogočajo generiranje CRUD kode (Create-Read-Update-Delete).
Se pravi lahko neko osnovno aplikacijo "zgeneriraš" v minutah...
Sploh pa naprimer Zend je super zadeva, kjer lahko zelo enostavno pobereš zadeve ki jih rabiš, jih prilagodiš tvojemu namenu, in voila, imaš svoj framework!