The difference between the framework and the library is rather vague in my opinion. As a rule, software environments are larger and usually “capture” your application (as they provide the foundation or “framework”) for developing your application). On the other hand, the library offers a set of functions that you can select.
Wikipedia has some specific criteria for distinguishing frameworks from libraries:
- inversion of control. Within the framework, unlike libraries or ordinary user applications, the general program control flow is not dictated by the caller, but by the framework.
- default behavior. The structure has a default behavior. This default behavior should be really useful, not a series of no-ops.
- extensibility. The structure can be expanded by the user, as a rule, by selective redefinition or specialized user code that provides certain functionality.
- non-modifiable frame code. The frame code, in general, cannot be changed. Users can expand the framework, but not change its code.
source share