Framework is one of the approach for reuse. Unlike inheritance, "clone and own", framework itself is a standalone integration.
Unlike Library, framework is a skeleton code that is reusable yet customizable into an application. Framework controls the program structure and program flows, which is different from library that provides the functions to perform those actions.
A notable difference is framework callback into client code just like the Hollowood Principle: "Don't call us. We call you". As for library, it is the direct opposite: the client calls the library functions inside client code.
Can be huge: to the point where end-to-end hardware to software solution framework is possible. Example: Android devices to Android Studios.
There are generally 2 types of frameworks:
Whether to use either white-box or black-box frameworks, there are a few things to considers as well.