What is the philosophy what is the Framework based on?
Don't do the same work over and over again
All the web apps are virtually the same. They are a tree of individual pages, most of them accessible from some kind of user menu. Almost all individual pages consist of one or more lists of data, some of them possibly containing only one item (or sometimes even zero items). User interaction consist of filtering and/or searching through these lists, some immediate actions (click and see the results), seldom in filling some form(s).
Therefore, there should be no reason to do the same work over and over again. The only work you should be doing is the design itself, consisting of three simple tasks:
- Define the tree structure (or user menu) of your website
- Define what lists and/or forms should be on each page
- Define the look
We are all individuals: let's specialize
Excellent graphic designers are usually not so excellent in algorithmization. Great programmers are seldom able to recognize, not to mention create, beautiful and elegant design. Yet, many frameworks suppose that only the programmer will operate them to the full extent, effectively making the programmer the bottleneck of the development process.
There should be no need of a programmer to design a simple page, or a mock page, or a new page working with the components used already in some other page. And the other way around, there should be no need of a web designer to create a functioning website.
Do not code: re-use and configure
There is no need to copy and paste the whole bunches of PHP code just to change one or two lines in them. Let's encapsulate this code into the framework itself as a fully pre-programmed components and specify only the changing bits when using it.
And even those changing bits are often the same throughout many pages of your web! So let's re-use those configurations of the framework components, use them as plug-ins, and change only what really needs to be changed.