CODEX
Choosing a software library or framework
Choosing a library or framework is not like choosing furniture. A systematic approach should support the process.
I’ll try to abstract from the language/runtime/platform (PHP, Java, .NET, etc.) in use, as the concepts are generic.
Why use libraries and frameworks?
Reusability is a watchword in software engineering. Avoiding “reinventing the wheel” is the rationale for using libraries and frameworks. Don’t develop software that is not the “core of your business”. It doesn’t make sense to redo code that is created, tested, and maintained by others who are dedicated to it. That’s why there are “packaged” features, ready to be used.
An application of average complexity (e.g. an intranet, an iOS app) can use dozens of libraries and some frameworks. Most are free and many are open source.
The “problem” is that there are numerous ways to solve the same kind of problem. The web has countless offers. Where to start? How to filter? Sometimes, obvious choices may be dangerous as those…