SDK,作为Software Development Kit的缩写,其意义为软件开发工具包。它是根据当前系统或平台量身打造的一套完整开发工具的集合。
让我们以匠人鲁班为例,他制作家具时离不开刨子、锤子、斧子等工具。同样地,程序员在开发应用程序时也离不开SDK的辅助。特别是在Android平台的APP开发中,从Android下载AndroidSDK是必不可少的步骤。借助这套SDK提供的API,开发者能够调用系统的各种功能,例如实现屏幕常亮等特定操作。如果缺少了这些开发工具,那么即便是技术娴熟的开发者也会感到无从下手。
基于SDK的合作模式,一方会提供能力和工具集合,而另一方则专注于调用这些能力,无需深入了解其具体实现细节。在项目合作中,有时会出现一个团队在视频方面缺乏经验,但项目又必须包含视频播放场景的情况。而另一个团队若是视频领域的专家,那么他们很可能会通过SDK级别的合作,为前者提供一个视频SDK。
一旦拥有了这样的SDK,开发者只需调用其简单封装的接口,如“播放”、“暂停”,即可轻松应对复杂的视频播放需求。在复用场景中,我们应充分利用已有能力,避免重复造,而是将大部分功能封装成SDK,供其他开发者调用。这样做能够有效加速开发进程。
API,即Application Programming Interface,中文译为应用程序编程接口。它常被简称为API函数,这个函数为开发者提供了某种特定的能力,比如查询某个地理坐标下的天气信息。
在软件开发中,系统的各种功能通常以SDK的形式提供给开发者。SDK内部往往包含了许多API,每个API都代表着系统或平台的一种能力。API有公有和私有之分。
公有API是系统以SDK形式公开出来的,对所有开发者都是可见的。相比之下,私有API仅限于系统内部或某些自带的应用程序使用,开发者通常无法使用。使用私有API需要格外小心,因为这可能涉及未来系统不再支持或触犯厂商规则导致的下架风险。