Doing it yourself
Posted on: 26 July 2012
I've never really *got* web development frameworks. Sure, I understand what they're trying to achieve and I can appreciate they can save you a lot of time. But I don't see the benefit of them in the long term.
Almost all frameworks start out with someone trying to fulfil a purpose. If the framework takes off, a few more people may get involved and contribute their ideas. Before long, you've got a handful of different opinions on what makes this framework good and what it's trying to achieve. Don't get me wrong, this is a good thing. When someone questions your decision making, it forces you to really look at it and either bite their hand off explaining why it's the bee's knees, or quietly retreat and admit your idea wasn't the best.
Frameworks gathering steam, merging in ideas from all over the place, moving forward collectively, all seem to end up with the same flaw; over flexibility. The nature of a framework is catering to as many people as possible. And as often as you'll get loyal followers proclaiming their framework *can* do everything and anything, it doesn't necessarily make it the right choice for your particular purpose.
It's at this point the prospect of building your own custom solution rears its self, as it often does in my mind. It seems a decent enough premise; build an efficient system from the ground up that caters for your needs; built, naturally, with future scalability in mind. You'll know the system inside out and the problems you face and the solutions you come up with during the build process is invaluable knowledge you won't acquire from simply implementing an existing framework.
With that said, the huge spanner in the works of this plan is the thing every developer seems to lack, and is commonly referred to as money: time. The amount of time and resources involved is almost immeasurable.
Unfortunately, in the real world, the "right solution" is seldom the "perfect solution". If a modern "rapid development" framework can get you 90% there without breaking a sweat, and you have to make do for the final 10%, to coerce the framework into behaving the way you want, then so be it. If you were building it yourself you'd probably be barely out the starting blocks.
I remember once being told, any problem you face in web development has already been solved by someone before; don't bother trying to solve it again. Of course, with this mentality, innovation on the web would be dead. As in life, pick your battles.