We've referred to Zikula as a framework at times in the past, but it's not that in the same sense that Cake is. Zikula doesn't write any code for you (ModuleStudio aside) but it does provide a ton of services already pre-written so you don't have to write them yourself.
A framework is not something that writes code for you. This is simply a feature called scaffolding. Anyone can write code generators/scaffolding without the actual framework. We have actively rejected scaffolding because has no maintainability beyond the initial code generation.
A framework (and Zikula is a framework in every sense of the word) is simply a codebase that provides a platform to write programs in. Zikula is different to CakePHP and Zend and so on because we go further by providing services that would have to be written manually like administration interfaces, user authentication modules. In CakePHP/Zend etc they provide the libraries to do this. Zikula therefor saves a lot of time. In a sense, we have both framework (especially from Zikula 1.3.0), and implementation code. Zikula's small deficiency is that some of the core modules are still tightly coupled to the framework but on the other side, the modules are completely customisable so it doesnt matter (like the Users module).
Zikula's formal title at this time is actually "Zikula Application Framework".
It's interesting to note that this whole idea a framework like Zikula forcing certain compliance is an interesting one. I read some Zend2 planning documents recently: Zend is the oldest and most popular
PHP framework by far, but even they are now realising that sacrificing some flexibility for formal structure *is* a better approach.
Remember Zikula's roots are a webportal - but not today. It's more like a Web
OS where you can load up programs.
We are entering an interesting time where we may a small identity crisis because Zikula Core is what we have been working on all this time and Zikula Core is this bare framework for running modules... but post Zikula 1.3.0 we will be working on the Zikula Distribution which is going to be a
CMS thing since that is the main demand from users. The question will then come about how to differentiate the two. The current plan is to sideline Zikula Core, move it out of direct sight and make it something for module developers.
Ultimately, user demand is going to shape what we do and how we present ourselves.
Regards,
Drak
--
Zikula Lead Developer
Board Member of the
Zikula Foundation
Follow me on
twitter.com/zikuladrak