Today some friends and I started discussing frameworks.. Some of us strongly believe that in 99.9% of cases, writing a new framework is a bad idea. We believe that probably some of the millions of frameworks out there should fit our problem, and if not, some hack, API, or configuration should be enough. If not, we think that contributing to some framework, suggest features or something like that should be the best solution. The 0.1% is when none of the frameworks fit to our case.But, some of us say that it is better to have an internal corporate framework (for example), because it's faster to fix issues, creates a 100% fit with the app, because of the learning factor (when you improve your skills building a framework), etc.I think that to go out coding frameworks like there's no tomorrow is not the right way. I've seen a lot of small teams building their own framework just to spread the word: we built our own framework, we rule, bro. Generally, the framework is crap, without any documentation, and only works for their own applications.Opinions are opinions, devs are devs, without the intention to start any kind of flame war, I ask: What do you think about that? What parameters you consider when building a framework? What do you think about all this?
To write or not to write: Frameworks
frameworks
I'm on the opposite side of the spectrum from GrandmasterB. To me, this is a buy versus build question.From my perspective, my time and effort can be represented by a cost. The question then becomes, when it there sufficient return on investment to build a framework? (If I'm working for a client, I think about these questions from the client's perspective.)Here are the questions I ask myself:Does the framework already exist?If I build this framework, is this something I want to be known for? In other words, is this framework a differentiator for me?Oftentimes, I find the answer to the second question is no. I'm working for a healthcare company now. They don't have a desire to be known as the developer of a best-of-breed scheduling engine. I should outsource the development and maintenance of that framework.However, if we're talking about a pricing engine, that's the company's bread and butter, so I should definitely focus my energy on making a superb engine.