Definition: works with the served frame; structure, rules and components have to be implemented.
API (Application Programming Interface)
Interface to implement features by exposed member
SDK (System Development Kit)
Tools to develop; higher concept than Software Framework.
Software Framework
Group of library to comsose API
Software Library
Group of frequently invoked program
The individual developer can also make framework to apply some features generally. Gathering those and Arranging in an easy way, the a lot of variation came out with fundermental framework. Even the features could be implement with the experience, the cost time can be utilized to other tasks by using framework, That's an advantage.
But there are also the disadvantage when the packaging process. The framework project with a lot of external package, the packages were also needed for the accepter project. At least one of package is missing, the entire project doesn't work well. To avoid the situation, the framework should be consist the default project. Or the manuals for the framework usage have to be written for sharing.