Tech Terms 101: Introduction to SDKs


What is an SDK?

SDK stands for software development kit, sometimes referred to as “devkit” for short. An SDK s a set of software tools and programs used by developers to create applications for specific platforms. SDKs contain libraries, documentation, APIs, code samples, processes and guides that developers can use and integrate into their own applications.

Benefits of SDKs

Without an SDK, developers would need to write code from scratch to perform complex functions. An SDK can make life easier for developers by providing:

1. Rich application functions: For example, if you want to develop an online shopping app, you can use the SDK provided by a third party ecommerce provider to help you implement related functions such as shopping carts and payment in the application.

2. Extensive documentation: Most SDKs include written code, technical support documentation, and more, so you don’t need your own professional team to develop it.

3. Short-cycle development and low cost: SDKs can provide a quick way to easily integrate complex functions, which can help developers focus more on their own unique product architecture. This helps reduce costs and bring products to market faster.

Differences between SDKs and APIs

At this point you may be wondering: how is an SDK different from an API?

An API is just one part of an SDK. The SDK can contain one or more APIs plus essential utilities and other important tools.

In our previous blog post “Introduction to APIs,” we shared a restaurant and menu analogy where the waiter was analogous to the API and the kitchen was analogous to an application. The API (waiter) abstracted the customers from needing to know how the food was being prepared; the customers just provided their orders and enjoyed the results.

Extending this example, the SDK is analogous to all the materials, tools and processes needed to make the food, such as ingredients, recipes, condiments, tools (like knives, pots, pans, and plates) as well as processes such as cleaning, cooking and delivery.

MWCapture SDK

Magewell's MWCapture SDK offers comprehensive APIs and sample applications to help developers optimally leverage the capabilities of Magewell capture hardware, providing high-quality capture functionality while reducing the processing burden on the host CPU. The MWCapture SDK includes Windows, Linux and Mac versions and provides Magewell custom APIs while also supporting other common generic interfaces including DirectKS, V4L2 and AVCaptureSession. Developers can choose to use Visual C#, Java, Visual C++, or Visual Basic (Windows only) to build their applications.