Glossary Updates12 new terms added to the glossaries · October 2, 2026, 22:44 CEST
AI TechDocKnowledge

Encyclopedia · Subject area

Software development kits

A software development kit (SDK) is a packaged set of tools, libraries, documentation and samples that enables the development of software for a particular target. The term is used across subject areas that otherwise have little in common. This subsection distinguishes four types — developer SDKs, publishing SDKs, platform SDKs and hardware SDKs — describes each in a separate article and examines the points at which they interoperate.

By knowledge.aitechdoc.world · Last reviewed

Articles

  1. Developer SDKsDeveloper SDKs wrap a platform’s APIs in language libraries, authentication, serialization and error handling. Definition, history, components and uses.Read the article
  2. Publishing SDKsPublishing SDKs parse, validate, transform and render structured content such as DITA or XML into many output formats. Definition, history and components.Read the article
  3. Platform SDKsPlatform SDKs define how third-party apps, plug-ins and integrations extend a platform: extension points, manifests, sandboxes and permissions.Read the article
  4. Hardware SDKsHardware SDKs expose devices, sensors and processors to software through drivers, low-level libraries, toolchains and debug tools. Definition and uses.Read the article

Scope and terminology

The four designations used in this subsection are descriptive categories, not standardized terms. They are distinguished by the target of the kit: a remote service or system (developer SDKs), structured content (publishing SDKs), a software platform that hosts extensions (platform SDKs) and a physical device (hardware SDKs). Individual products frequently combine several types; a cloud provider’s kit may contain client libraries and extension tools, and an IoT kit may contain device libraries and a cloud client.

Common characteristics

Despite their different subject areas, the four types share a common structure. Each packages an interface — an API, a content model, an extension point or a device register set — together with libraries that make the interface usable, tools for building and testing, documentation and samples. Each is a versioned artifact whose changes affect the software built on it, and each relies on documentation as an integral part of the kit rather than an addition to it.

Comparison

Comparison of the types of software development kit
TypeTargetPrimary artifactsTypical usersDirection of controlExamples
Developer SDKsA remote service or system, addressed through its APILanguage libraries, authentication, serialization, error handling, CLIApplication and integration developersThe application calls the serviceCloud provider SDKs, OpenTelemetry SDKs
Publishing SDKsStructured content in a content modelParsers, validators, transformers, renderers, pipelinesInformation architects, content engineers, technical writersThe pipeline processes the contentDITA Open Toolkit, XSLT and XSL-FO processors, CCMS publishing engines
Platform SDKsA software platform that hosts extensionsExtension APIs, manifests, plug-in frameworks, sandboxes, test instancesPartners and customers extending the platformThe platform calls or hosts the extensionVisual Studio Code Extension API, Atlassian Forge, SAP Cloud SDK
Hardware SDKsA physical device, processor or sensorDrivers, low-level libraries, toolchains, debug and flashing toolsEmbedded, systems and application developersSoftware drives the device through its driversCUDA Toolkit, OpenXR runtimes, Android NDK, IoT device SDKs

How the domains interoperate

Although the four types of SDK belong to different subject areas, they meet wherever software, content and devices form one system. The points of contact follow a recurring pattern: one kit produces an artifact or event that another kit consumes, and an interface description — an API specification, a content model, a manifest or a device description — defines what passes between them.

Developer SDKs and publishing SDKs

Publishing pipelines are controlled through developer SDKs and APIs: a content management system triggers a build, a continuous integration service runs the publishing engine, and the result is uploaded to a delivery platform through that platform’s API. In the opposite direction, the reference documentation of developer SDKs is generated from API descriptions and source code comments and then processed by publishing tools, so that the documentation of a kit follows each release of the kit.

Platform SDKs and publishing SDKs

Component content management systems and content delivery platforms are platforms in their own right. Their extension models allow custom output formats, metadata mappings and connectors to translation or product information systems to be added as plug-ins. Publishing functions thus become extensions of a content platform, and content becomes available inside other platforms through integration apps.

Hardware SDKs and publishing SDKs

The documentation of devices and of hardware SDKs — register descriptions, pin assignments, safety and installation information — is commonly authored as structured content and published for several audiences. Machine-readable delivery formats such as iiRDS packages and VDI 2770 containers carry this documentation together with metadata that identifies the product and the component to which it applies, so that it can be linked to the device data used by software.

Hardware SDKs and developer SDKs

Connected devices combine both types. Firmware built with a hardware SDK reports measurements to a gateway or directly to a cloud service, where applications access the data through developer SDKs. Device descriptions and information models, such as the digital twin of an asset, define the meaning of the data on both sides.

Platform SDKs and developer SDKs

Extensions built with a platform SDK frequently call external services through developer SDKs, and external applications call the platform through the same kinds of client library. Authentication based on OAuth 2.0, webhooks and event subscriptions are the mechanisms most commonly shared by the two.

Conditions for interoperation

Interoperation between the domains depends less on the kits themselves than on the interfaces between them. Stable, versioned interface descriptions, shared identifiers for products and content, agreed metadata vocabularies and documented authentication mechanisms allow artifacts to pass from one domain to another without manual conversion. Semantic interoperability — a shared understanding of what the exchanged data and content mean — is the precondition for automated exchange across subject areas; syntactic compatibility of formats alone is not sufficient.