Diferencia clave: SDK o Kit de desarrollo de software es un conjunto de herramientas de desarrollo de software. Estos se utilizan principalmente para crear diversas aplicaciones. API significa interfaz de programación de aplicaciones. Proporciona una interfaz específica para una colección de funcionalidades de software. Es la interfaz implementada por una aplicación que permite que otras aplicaciones se comuniquen con ella. Por lo tanto, el enfoque de la API es hacia la comunicación o la interacción, mientras que el enfoque de la API es hacia el desarrollo de aplicaciones.
El Visual Studio SDK es un SDK de Microsoft. Incluye documentación, ejemplos y código que los desarrolladores utilizan para desarrollar productos que se integran con Visual Studio. Algunos otros ejemplos son Windows 7 SDK, Mac OS X SDK. Normalmente, SDK incluye un entorno de desarrollo integrado (IDE). Este IDE se convierte en la interfaz de programación central. Este entorno incluye una ventana de programación, un editor visual, etc. Todos estos objetos ayudan a los desarrolladores a crear programas. En algunos de los SDK, uno también puede encontrar gráficos de muestra como un botón. Estos SDK son generalmente proporcionados sin ningún cargo o costo.
API y SDK se pueden diferenciar en muchos puntos. El SDK se ocupa de un aspecto más amplio al incluir API, códigos de muestra, herramientas, etc., mientras que la API generalmente trata sobre especificaciones y descripciones. El SDK comprende bibliotecas, mientras que la API proporciona descripciones de los tipos de parámetros. SDK generalmente viene con API, y por lo tanto, la definición de SDK (en este contexto) incluye la definición de API también.
Comparación entre SDK y API:
SDK | API | |
Forma completa | Kit de desarrollo de software | Interfaz de programación de aplicaciones |
Definición | Es una colección de herramientas, código de ejemplo y documentación. | Es una interfaz específica para una colección de funcionalidades de software. |
Ejemplo | Windows 7 SDK | API de Windows |
Tipo | Herramienta | Interfaz |
Relación entre sí | Generalmente incluye una API o dos | Viene independientemente o como miembro de SDK |
Definición por Wikipedia | Un kit de desarrollo de software (SDK o "devkit") suele ser un conjunto de herramientas de desarrollo de software que permite la creación de aplicaciones para un determinado paquete de software, marco de software, plataforma de hardware, sistema informático, consola de videojuegos, sistema operativo o similar plataforma. | Una interfaz de programación de aplicaciones (API) es una especificación basada en el código fuente que los componentes de software deben utilizar como interfaz para comunicarse entre sí. Una API puede incluir especificaciones para rutinas, estructuras de datos, clases de objetos y variables. |
Caracteristicas | Proporciona herramientas para ayudar a los programadores para el desarrollo y para utilizar la API. | La interfaz accede a las capacidades y características de la plataforma subyacente. |