Browse Definitions :
Definition

software development kit (SDK)

A software development toolkit (SDK) is a set of software tools and programs provided by hardware and software vendors that developers can use to build applications for specific platforms. These providers make their SDKs available to help developers easily integrate their apps with their services.

In order to use a SDK, a developer needs an iOS SDK to build iOS apps, an Android toolkit for building Android apps, Nordic SDK to build Bluetooth or wireless apps and a VMware SDK to enable integration with the VMware platform.

Although SDKs are largely associated with native mobile apps, developers can use them in connection with websites, set-top boxes and other digital platforms.

SDKs include documentation, application programming interfaces (APIs), code samples, libraries and processes, as well as guides that developers can use and integrate into their apps. Developers can use SDKs to build and maintain applications without having to write everything from scratch.

More specifically, SDKs include:

  • Libraries or APIs - pre-defined pieces of code that let developers perform common programming tasks on the platform.
  • Integrated development environment (IDE) – a visual editor that helps developers design and layout graphical elements, such as text boxes and buttons. These are common in mobile software development toolkits. For instance, Apple’s IDE, Xcode, contains a suite of software development tools to help developers build software for macOS, iOS, iPadOS, watchOS and tvOS. There are numerous IDE options for Android.
  • Tools to help developers do such tasks as debugging, building, running and testing their applications.

SDKs enable developers to enhance apps with more functionality and let them include push notifications, ads and more. SDKs also help developers more efficiently create new tools and make the process easier because everything is prebuilt.

For example, if a developer wanted to share images or text from his or her app directly into Facebook, he or she could look for Facebook’s Android SDK to find the necessary code that would work for an Android device. This speeds deployment because the developer doesn’t have to write the code from scratch.

Why use SDKs

Software development toolkits allow developers to add functionality to their applications and enable them to build the standard components of their apps easier and faster. SDKs are usually all-in-one products and don’t need to be integrated with other components, which can slow down the development process.

Typically, developers use SDKs for simple functions, such logging in, location services and mobile payments. However, there are also SDKs that help developers build more complex app features, such as augmented reality (AR) and virtual reality (VR). SDKs reduce complex integrations by simplifying standard processes, such as creating authorization signatures or interpreting SMS messages in native languages or platforms.

Difference between SDKs and APIs

An API is code that enables two software programs to communicate with each other. An API defines the correct way for a developer to request services from an operating system or other application and expose data within different contexts and across multiple channels.

When a developer uses an SDK to develop applications and create systems, those apps have to communicate with other applications. An SDK includes an API to enable that communication.

Other differences include:

  • SDKs usually contain APIs, but APIs don’t contain SDKs.
  • Although an API can be used for the communication, it can’t be used to create new applications.
  • SDKs let developers create applications and act as the building blocks for the software product.
  • APIs allow the function of apps within the parameters of the SDK they are bundled with. APIs are the code that enable clearly defined communication between two separate apps.
  • An SDK is the tool and component piece of code that has been created for a specific purpose, while an API is just an interface for a service.
This was last updated in July 2019

Continue Reading About software development kit (SDK)

SearchNetworking
  • network packet

    A network packet is a basic unit of data that's grouped together and transferred over a computer network, typically a ...

  • virtual network functions (VNFs)

    Virtual network functions (VNFs) are virtualized tasks formerly carried out by proprietary, dedicated hardware.

  • network functions virtualization (NFV)

    Network functions virtualization (NFV) is a network architecture model designed to virtualize network services that have ...

SearchSecurity
  • What is cybersecurity?

    Cybersecurity is the protection of internet-connected systems such as hardware, software and data from cyberthreats.

  • Android System WebView

    Android System WebView is a system component for the Android operating system (OS) that allows Android apps to display web ...

  • data masking

    Data masking is a method of creating a structurally similar but inauthentic version of an organization's data that can be used ...

SearchCIO
  • privacy compliance

    Privacy compliance is a company's accordance with established personal information protection guidelines, specifications or ...

  • contingent workforce

    A contingent workforce is a labor pool whose members are hired by an organization on an on-demand basis.

  • product development (new product development -- NPD)

    Product development, also called new product management, is a series of steps that includes the conceptualization, design, ...

SearchHRSoftware
  • talent acquisition

    Talent acquisition is the strategic process employers use to analyze their long-term talent needs in the context of business ...

  • employee retention

    Employee retention is the organizational goal of keeping productive and talented workers and reducing turnover by fostering a ...

  • hybrid work model

    A hybrid work model is a workforce structure that includes employees who work remotely and those who work on site, in a company's...

SearchCustomerExperience
  • Salesforce Trailhead

    Salesforce Trailhead is a series of online tutorials that coach beginner and intermediate developers who need to learn how to ...

  • Salesforce

    Salesforce, Inc. is a cloud computing and social enterprise software-as-a-service (SaaS) provider based in San Francisco.

  • data clean room

    A data clean room is a technology service that helps content platforms keep first person user data private when interacting with ...

Close