The purpose of using widely available frameworks is surprisingly not always clear to everyone. Some even prefer not to use any framework at all. Obviously for some it may be harder to understand than for others. The question remains: why using Open Source frameworks is so important and valuable?
Be DRY means Don’t Repeat Yourself. It is another way of saying “Don’t reinvent the wheel“. Your time can be much better spent when you focus on your client’s needs than when you write yet another MVC or user management implementation. Developing it can be only interesting for the first time. Next time it is probably going to be improved a bit but after a few iterations you get bored. A bored developer makes mistakes and becomes less productive. Routine is a bad thing. I won’t even mention how much time and money is wasted in the whole process.
Let thousands of people work for you (for free)
Behind every valuable Open Source project there stands a great community of people. They are eager to work for you and they do it for free! There are always thousands of eyes watching and thousands of hands working. Community won’t overlook anything. They test, code, document and help you 24 hours a day. Your company is never going to hire such an amount of testers and developers. As a bonus you get tutorials, learning materials and up to date documentation included. Think how much time you’re saving.
Give something back
At certain point you will probably need something which is not yet implemented or available. Or, more likely, you will improve something existing or fix a bug. This is the payback time. Publish your solution, fix, patch or whatever you’ve created. Contribute! There are many people out there that need it as much as you. You can also give something back by helping others on mailing lists, IRC channels or forums. Don’t even think you’re not experienced enough. Community is built on quantity. Everyone is valuable.
It’s not that you will find any framework or library out there and you’re done. Choosing proper vendor is essential. It requires detailed research. It’s often said: “You need to find right tool for the job“. Often it means that you need more than one tool. There are many frameworks, libraries and applications available. You can use Zend with PEAR. You can embed drupal in symfony. Think about all these technologies as Lego bricks. Integrate!
I want to create my own framework!
There are two situations when you might need creating your own framework. Either you have a specific problem and need a highly customized solution or you’re a beginner who is very eager to do everything on his own. If you’re the first guy than you probably did a research and concluded that your needs are too sophisticated. In the second case you just need to go through the whole process to learn and gain experience. Once you do it and say ‘I wrote my own framework!’ you will finally be satisfied for a while. But after a few projects you will find writing missing features of your framework boring and time consuming. That’s the point where you’ll become mature enough to start using ready made solutions. It is not bad. Actually, it is the best way to learn about it.
Feel free to share your opinions about frameworks by leaving a comment below.