A software framework is a foundation of defined code in which more code can be added to fully customize or build out the software.
In the Magento framework, parts of the software leverage Zend, an open-source, object-oriented PHP framework. Modules are built using the Magento framework. Frameworks can be used for developing software applications, products and solutions (combinations of products and services). To integrate different components, development can include integration of APIs, code libraries, compilers, support programs and other toolsets.
Unlike libraries, frameworks feature the following:
- Flow of control dictated by the framework, not the caller
- A default behavior that is user-centric and logical
- Extensibility, enabling users to more easily build an application