The framework
It is a complete set of solutions, which is relatively invasive to the project. If the project needs to change the framework, it needs to rebuild the whole project
Libraries (plug-ins)
Providing a small function is less intrusive to the project, and if a library fails to fulfill a requirement, it can be easily switched to another library to fulfill the requirement