SDK Chinese name "software development kit" (in this article will be referred to as a software package or software development kit), it was developed to reduce the programmer's workload, there are companies to develop a certain function of the software, packaged into an SDK (for example, the beauty of the SDK is capable of realizing the beauty of the SDK), sold to other companies to do development with other companies if they want to develop a certain function for the software, but do not want to start from scratch to get the development, you can pay to save trouble. SDK), sold to other companies for development, other companies if you want to develop a certain function for the software, but do not want to start from scratch to get development, you can pay to save trouble.
When it comes to APIs and SDKs, a lot of friends tend to get them mixed up, so we'll put them together here:
1, a careful explanation
You can imagine the SDK as a virtual package, in which there's a copy of a well-done piece of software functionality, and this package is almost completely closed, with only a small interface to the outside world, which is the API.
If we want to add a feature to a short video (such as beauty, cute face, cloud storage) but don't want to do it ourselves, we can choose to use this "SDK" package, and we can connect our program to the API interface to use the features in the SDK package. We connect our program to the API interface, and then we can use the functions in the SDK package.
2. Simple explanation
Reorganization is:
SDK = software package with the features you want
API = the only interface on the SDK
If you want to develop some of the features in the SDK package on your own short video app, you can connect your short video software to the API interface on the SDK package. API interface on the package to get the features in the development package.
3. Image explanation
There is a drink, its name is "SDK". Drink with a straw, the name of the straw is called "API". Let's call your lips "short video software" If you want to get the drink from the SDK drink cup into your mouth (so that the software has the functionality of the SDK), you have to do it through the API straw (connecting your software to the SDK software development kit through the API), or else you won't be able to drink the drink.
SDK can be divided into system SDK and application SDK. The so-called system SDK is for a particular software package, software frameworks, hardware platforms, operating systems and other applications when the use of the collection of development tools. The application SDK is based on the system SDK developed independently of the specific business and has a specific function of the collection.
Content accuracy and completeness, a good SDK developers in the preparation of the document before the interface scene will do a full call to verify that the content has to ensure the accuracy and completeness.
Easy to read and easy to use, SDK developers as the first reader and user of the document, in the process of using the document should consciously lower their own posture, often imagine a very low developer reading their own documents, through active reading and continuous improvement to ensure that a developer who is not very good at programming can use our SDK.
Streamlined A good SDK developer will streamline the documentation by reducing repetition, avoiding redundancy, and cleaning up the code, which also reduces the cost of maintaining the documentation.
Update logs, documentation
Describes all changes from the previous version (optimizations are added where appropriate).
SDK development, you need to try to avoid relying on third-party libraries, the use of generic Android SDK comes with official libraries to meet the needs of can, so as not to cause unnecessary conflicts.
Or third-party libraries should not be placed under the lib package, the default package into the packaging process of the aar secondary packaging issues;
For example, do not for a simple JSON data conversion on the introduction of Fastjson, Gson and other third-party json parsing and conversion libraries.
If you do need to introduce some open source libraries because of project needs, you can introduce them in the form of source code integration, and then change the package name to avoid integration conflicts.