[nycphp-talk] Off the shelp CMS w/o the layout?
Ajai Khattri
ajai at bitblit.net
Mon Oct 26 16:29:51 EDT 2009
On Mon, 26 Oct 2009, Mitch Pirtle wrote:
> Here's my take, would love your feedback:
>
> http://www.mitchitized.com/nerdy-stuff/php-frameworks-explained/
A couple of points:
You say a framework is opinionated (fair comment) but that to me
implies a stack has specific layers, a naming and directory layout
convention, etc. Zend doesn't have that so each project is different -
there is no common frame of reference. Thus I dont call it a framework.
"Glue" is certainly right, but its really a library of components - how
you use them, how you structure your app and your own naming conventions
is how they're often used. If you like gluing things together, that might
be OK. But it also brings up the issue of long-term maintenance, when you
have to hand the code over to someone else that has a different idea of
how things should be structured. While a lot of frameworks have a common
layout that facilitate easier maintenance by different developers, most
also allow you to tweak and customize a little, so they are not as rigid
as seems to be implied.
The other thing is, despite being full stacks, many frameworks can be
scaled up and there are many options to tweak that. You can switch off
layers you dont want to use (like maybe you dont want to use an ORM or
you want to swap in a lighter component). Many frameworks have a lots of
options for caching functions, templates, etc. You would have to build
that yourself if you want to glue something together with components.
There are many large sites using frameworks, so your comments about
scalability and performance might be a bit off. Frameworks require much
more learning to get the best out of them, this is why picking four
frameworks and bulding a simple "Hello World" page merely scratches the
surface and cannot be regarded as a serious testdrive, but these
unoptmized experiences are sadly often used as benchmarks to pick!
--
Aj.
More information about the talk
mailing list