Q&A: Which Framework Should I Use?
Q: Which Framework Should I Use to make <blank> ?
A: You're already off on the wrong foot. The reason? You're thinking you need a framework to get whatever you need done.
All too often I see posts on forums or on IRC: "What framework should I use for a large networking site, like MySpace?"
1) Comon, MySpace? Ugh.
2) If you have to ask, you're doing it wrong.
3) This question will spawn a thread of everyone promoting their own personal frameworks. E-Peen war ensues.
You're asking the wrong question. Some better questions might be:
"Is there a particular framework that out performs another?"
"How is performance gauged?"
"Does it allow Master to Slave databases?"
"Does it support Memcache?"
"What kind of templating system does it use?"
"What's the ease of development?"
As you drill further and further down into these questions, you're going to discover you will have to start making comprimises.
Some frameworks eat up less CPU, but does that mean it out performs?
For a large "networking site" you'll need hundreds of database servers, so really, does any framework handle that many "out of the box" ?
If you go, "Memcache - what's that?" - then you're already set up for fail. If you find a framework that does support clusters of MC servers, will it allow you to tailor it to your needs?
As far as templating systems go, generic Smarty won't cut it. You'll need to hack, strip and extend Smarty into all sorts of weird specific configurations for optimal performance.
Ease of development? Does it work well for you? How long will it take to hack your framework into a better performing set up? How much effort goes into training new devs on the project?
You're going to find yourself coming to a realization: You need to put in a lot of work.
Reaching out for a framework is a common misconception of Jr Developers. It's easy to grab for these frameworks beacuse you don't really understand what they do.
Don't get me wrong, some of the frameworks out there are great. And not every project requires custom built frameworks.
But there's two different leagues here. While you're playing in the minors - have fun with your frameworks, use Zend, CI, Symphony, what have you.
When it comes time to play in the big leagues, leave your AA and AAA crap at the door.
There's a difference between sites that serve 1 M Unique users a month, and those that serve over 10 M unique users a day, and that difference is not found in a box, or "off the shelve."
No comments yet.