First of all, let us briefly discuss what a Software Library is
A software library is a collection of resources used to develop software.
Programmers write functions and classes, these are sets of instructions and defined behaviours. They range from the simple to the complex, and each is a resource that can be repeatedly used to build something bigger. Such a collection of resources is a Software Library.
Software Framework
A Software Framework is a software library with certain goals in mind:
- The framework code itself is not meant to be edited or changed.
- Frameworks are extensible. Resources can be specialised or overridden.
- Frameworks have a default behaviour.
- The framework dictates how it’s set of resources is used.
Hopefully theme and plugin developers will be familiar enough with WordPress to see where I am going with this. Here is a list of items that one should consider when building themes and plugins for WordPress:
- Don’t edit core files (your changes will get wiped in the next release).
- WordPress has filters, hooks and pluggable functions.
- WordPress comes out of the box as a full working CMS.
- Use action and filter hooks inside plugins and themes, using codex standards.
WordPress Framework Conclusion
From this, I conclude that WordPress is a framework. It provides us with a library of resources that allow us to extend and specialise it into the site and CMS that we want.