Glossary
Software development kits (SDKs) glossary
Definitions of the terms behind the four types of software development kit described in the encyclopedia — developer SDKs for APIs and cloud services, publishing SDKs for structured content and multichannel output, platform SDKs for extending host applications, and hardware SDKs for devices, processors and immersive systems — plus the concepts where these domains meet: interfaces, authentication, code generation, telemetry, extension models, toolchains and abstraction layers.
1 · SDK fundamentals
Code sample
German: Codebeispiel
In software engineering, a code sample is a short, self-contained piece of example code in documentation that shows how to accomplish one task with a library, API, or toolchain. It is written to be read and run, so it normally compiles or executes as given, uses the same language and version as the product it documents, and is shipped and revised together with that product. Style guides for developer documentation treat code samples as a content type in their own right, with rules for formatting, completeness, and testing, next to reference documentation.
SDK · documentation · code examples · developer experience · technical writing
Definition and examplesCommand-line interface (CLI)
German: Befehlszeilenschnittstelle
In software engineering, a command-line interface (CLI) is a text-based interface in which a user or a script invokes a program by typing its name together with options, arguments and operands, and receives text output plus a numeric exit status. CLIs are executed in a shell or terminal, so they can be recorded, parameterized and replayed without human interaction. Most software development kits ship at least one CLI that drives recurring tasks such as project scaffolding, code generation, building, packaging, publishing, deployment and flashing of devices. Because the calling syntax is text, CLIs are the usual integration point between an SDK and continuous integration pipelines or build servers.
CLI · SDK · toolchain · automation · developer experience
Definition and examplesDeveloper SDK
In software engineering, a developer SDK is a software development kit that wraps a remote API or cloud service in client libraries for one or more programming languages, bundled with authentication helpers, code samples, and command-line or build tools. Instead of hand-signing HTTP, gRPC, or messaging calls, the calling application invokes functions and objects that follow the conventions of its own language while the kit handles credentials, retries, pagination, serialization, and error mapping. Providers commonly generate large parts of such kits from an interface definition and release and version them per language. It is one of four SDK types described in the encyclopedia subject area on software development kits, alongside publishing, platform, and hardware SDKs.
SDK types · API integration · client library · cloud services · authentication
Definition and examplesHardware SDK
German: Hardware-SDK
In software engineering, a hardware SDK is a software development kit that makes a specific piece of hardware — a device, microcontroller, processor, accelerator or immersive system — programmable from application code. It typically bundles a toolchain (cross-compiler, assembler, linker), device drivers, a hardware abstraction layer, runtime and math or media libraries, header files describing registers and peripherals, plus flashing, profiling and debug tools. Unlike SDKs that target a remote service or a host application, a hardware SDK is bound to silicon revisions, board variants and driver versions, so its documentation must state exactly which parts it supports. Providing such an SDK does not by itself make a function safe, reliable or compliant; those properties depend on the system design, its verification and the applicable rules.
hardware sdk · toolchain · hardware abstraction layer · embedded · sdk types
Definition and examplesPlatform SDK
German: Plattform-SDK
In software engineering, a platform SDK is a software development kit for extending an existing host application or platform — an IDE, CRM, ERP, e-commerce system or productivity suite — instead of building a standalone program. It supplies the extension points the host exposes, the manifest format in which an extension declares what it contributes, the runtime APIs it may call, and the packaging, review and distribution tooling of the host's marketplace; extension code typically runs in a constrained or sandboxed runtime with declared permissions. Because the host controls loading, versioning and removal, a platform SDK constrains developers far more tightly than an SDK that only wraps a remote API. The name is ambiguous: Microsoft used "Platform SDK" as the former name of the kit that is today called the Windows SDK, which is an operating-system SDK rather than an extensibility kit.
SDK · platform SDK · extension point · manifest · plug-in
Definition and examplesPublishing SDK
In software engineering, a publishing SDK is a toolkit for transforming structured source content — such as DITA, other XML vocabularies, or Markdown — into delivery formats like HTML, PDF, EPUB, or help systems. It typically bundles transformation processors, stylesheets and templates, a plug-in or extension framework, validation utilities, and a command-line or build interface that can run unattended in a pipeline. "Publishing SDK" is a descriptive category rather than a product name: no standard defines the term, and vendors and open-source projects ship such toolkits under their own names. It is one of four SDK types distinguished in the encyclopedia's treatment of software development kits, alongside developer, platform, and hardware SDKs.
SDK · SDK types · structured content · DITA · publishing toolchain
Definition and examplesToolchain
German: Werkzeugkette
In software engineering, a toolchain is a set of programming tools used in sequence, so that the output of one tool becomes the input of the next — classically a preprocessor, compiler, assembler and linker, together with the libraries, object-file utilities and build tools that drive them. Software development kits usually ship or presuppose a specific toolchain, pinned to a host platform and a target platform. In structured publishing, the same term describes the chain that turns source content into delivery formats through a sequence of transformation steps. No single standard defines the word; what a given toolchain contains is fixed only by the documentation of the project or vendor that supplies it.
toolchain · compiler · build automation · embedded systems · publishing
Definition and examples
2 · Developer SDKs and APIs
Access token
RFC 6749; RFC 6750German: Zugriffstoken
In software engineering, an access token is a credential issued by an authorization server that lets a client application call a protected resource on behalf of a resource owner or on its own behalf. In OAuth 2.0 it is a string denoting a specific scope, lifetime and other access attributes, which the client presents to the resource server instead of the resource owner's password. Most deployments issue short-lived bearer tokens, which any party holding the token can use, so the token has to be protected in storage and in transit; a separate refresh token may be used to obtain a new access token when the old one expires. Access tokens are the credential type that developer SDKs for HTTP and cloud APIs usually acquire, cache and renew on the caller's behalf.
OAuth · Authorization · API security · Developer SDK · Credentials
Definition and examplesAPI key
German: API-Schlüssel
In software engineering, an API key is a static secret string that a client sends with every API request so the service can recognize the calling application, project, or subscription. Unlike a login, it normally says nothing about which human is behind the request: Google Cloud documents that a standard API key does not identify a principal and provides no authorization information, and that it mainly associates the request with a project for billing and quota purposes. Because the key is a bearer credential that never expires by itself, anyone who obtains the string can use it until it is revoked. API keys are not defined by a single standard; the OpenAPI Specification describes how to document them as the "apiKey" security scheme in a header, query parameter, or cookie.
API · authentication · credentials · security · developer SDK
Definition and examplesClient library
In software engineering, a client library is a software library for one programming language that implements calls to a remote API, so that applications can use the service through idiomatic functions and objects instead of building requests, handling authentication and parsing responses themselves.
Developer SDK · APIs
Definition and examplesgRPC
In software engineering, gRPC is an open-source remote procedure call framework in which services are defined in an interface definition language, by default Protocol Buffers, from which client stubs and server code are generated, and calls, unary or streaming, are carried over HTTP/2.
Developer SDK · APIs
Definition and examplesLanguage binding
In software engineering, a language binding is glue code that makes a library or API implemented in one programming language usable from another, mapping its functions, types, errors and memory management to the conventions of the target language; bindings are written by hand on a foreign function interface or generated by tools.
Developer SDK · Language interoperability
Definition and examplesOAuth 2.0
RFC 6749In software engineering, OAuth 2.0 is an authorization framework, specified in IETF RFC 6749 (October 2012), that lets an application obtain limited access to a protected resource on behalf of a resource owner without ever handling that owner's password. RFC 6749 defines four roles — resource owner, client, authorization server and resource server — and a set of grant types through which a client obtains an access token whose permissions are bounded by requested scopes. OAuth 2.0 decides what a client may do, not who the end user is; identity assertions are added by the separate OpenID Connect layer built on top of it. Most cloud and developer SDKs wrap these flows in a credential or token-provider class so that application code never assembles the token requests by hand.
OAuth · API security · Authorization · Developer SDK · IETF
Definition and examplesOpenAPI Specification
OpenAPI SpecificationIn software engineering, the OpenAPI Specification (OAS) is a programming-language-agnostic standard for describing HTTP APIs in a machine-readable document, written in JSON or YAML, that lists the operations, parameters, request and response bodies, data schemas and security schemes of an API.
Developer SDKs · Standards
Definition and examplesPagination (API)
In API design, pagination is the division of a large result set into a sequence of smaller pages that a client requests one after another, using page numbers or offsets, opaque cursors (page tokens) or links to the next page supplied by the server.
Developer SDKs
Definition and examplesProtocol Buffers
In software engineering, Protocol Buffers (Protobuf) is a language-neutral, platform-neutral mechanism originally developed at Google for defining structured data and service interfaces in `.proto` files and serializing that data in a compact binary format, with a compiler that generates code for many programming languages.
Developer SDKs
Definition and examplesRate limiting
RFC 6585In API operations, rate limiting is a server-side control that caps the number of requests a client, credential or tenant may make within a time window and rejects or delays requests beyond that limit; in HTTP the rejection is signaled with status code 429 Too Many Requests, optionally with a Retry-After header.
Developer SDKs · Security
Definition and examplesRetry with exponential backoff
In distributed systems, retry with exponential backoff is a strategy for repeating a failed request after a transient error, in which the waiting time before each new attempt grows geometrically, usually up to a maximum delay and number of attempts, and is commonly randomized (jitter) so that many clients do not retry at the same moment.
Developer SDKs
Definition and examplesService mesh
In distributed software architecture, a service mesh is a dedicated infrastructure layer that handles service-to-service communication through proxies, deployed as sidecars next to each service or as shared node-level proxies, and provides traffic management, mutual TLS, retries, timeouts and telemetry without changes to application code.
Developer SDKs · SDK interoperation
Definition and examples
3 · Publishing SDKs and structured content
Content supply chain
In content management and technical communication, a content supply chain is the end-to-end flow of content from planning and creation through review, management, transformation and delivery to its use by readers or machines, together with the systems, formats and handovers along the way.
Publishing SDK · Technical documentation · Content operations
Definition and examplesDITA Open Toolkit (DITA-OT)
In technical communication, the DITA Open Toolkit (DITA-OT) is the open-source, vendor-independent publishing engine for content authored in the Darwin Information Typing Architecture (DITA); it processes DITA maps and topics through a pipeline of pre-processing and transformation steps into output formats such as HTML and PDF and can be extended with plug-ins.
Publishing SDK · DITA · Technical documentation
Definition and examplesDocs as code
In technical communication, docs as code is the practice of writing and maintaining documentation with the same tools and workflows as software source code: plain-text markup, version control, issue trackers, code reviews and automated builds and tests.
Publishing SDK · Technical documentation
Definition and examplesDocument type definition (DTD)
XML 1.0 (Fifth Edition), section 2.8German: Dokumenttypdefinition (DTD)
In markup languages, a document type definition (DTD) is a grammar for a class of SGML or XML documents, written as markup declarations, that defines which elements and attributes may occur, how elements may be nested and which entities are available; a document that conforms to the DTD it declares is valid.
Publishing SDK · Structured content · Standards
Definition and examplesExtensible Markup Language (XML)
XML 1.0 (Fifth Edition)In computing, the Extensible Markup Language (XML) is a W3C markup language, first published as a W3C Recommendation in February 1998 as a subset of SGML, for representing structured documents and data as nested elements with attributes; an XML document is well-formed if it follows the syntax rules and valid if it also conforms to a grammar such as a DTD.
Publishing SDK · Structured content · Standards
Definition and examplesMultichannel publishing
In technical communication and content management, multichannel publishing is the production of several output formats or delivery channels, such as PDF, HTML, online help, mobile apps and content portals, from one maintained source of content, usually by automated transformations.
Publishing SDKs · Technical documentation
Definition and examplesSchematron
ISO/IEC 19757-3In XML processing, Schematron is a rule-based schema language, standardized as ISO/IEC 19757-3, that validates XML documents by testing assertions written as XPath expressions against selected parts of a document and reporting violations in natural-language messages.
Publishing SDKs · Standards
Definition and examplesSemantic publishing
In publishing and information management, semantic publishing is the publication of content together with machine-readable statements about its meaning, such as metadata, classifications against a taxonomy or ontology, and links to identified entities, so that software can find, combine and interpret the content and not only display it.
Publishing SDKs · Technical documentation
Definition and examplesSingle-sourcing
In technical communication, single-sourcing is the practice of writing and maintaining a piece of content once, in one source, and reusing it in several documents, outputs, product variants or contexts through references and automated assembly instead of copies.
Publishing SDKs · Technical documentation
Definition and examplesStandard Generalized Markup Language (SGML)
ISO 8879:1986In document processing, the Standard Generalized Markup Language (SGML), ISO 8879:1986, is an international standard meta-language for defining markup languages: it specifies how document types are declared in a document type definition (DTD) and how documents mark up their structure and content independently of how they are formatted.
Publishing SDKs · Standards
Definition and examplesStatic site generator
In web publishing, a static site generator is a tool that builds a complete website of prebuilt HTML, CSS and asset files from content sources, such as Markdown or other markup files, templates and configuration, at build time, so that the pages can be served as files without generating them on each request.
Publishing SDKs · Technical documentation
Definition and examplesXPath
XPath 3.1In XML processing, XPath (XML Path Language) is an expression language standardized by the W3C for selecting nodes in XML documents and computing values from them, by navigating the document tree along axes and filtering with predicates and functions; it is embedded in XSLT, XQuery and Schematron.
Publishing SDKs · Standards
Definition and examplesXSL-FO
XSL 1.1In XML publishing, XSL-FO (XSL Formatting Objects) is the formatting vocabulary of the W3C Extensible Stylesheet Language (XSL) that describes page masters, regions, blocks, tables, lists and other layout objects of paginated output; an FO processor renders such a document, typically to PDF.
Publishing SDKs · Standards
Definition and examplesXSLT
XSLT 3.0In XML processing, XSLT (XSL Transformations) is a W3C language for transforming XML documents into other XML documents, HTML, text or other formats, using stylesheets of template rules that match parts of the source with XPath patterns and construct the result.
Publishing SDKs · Standards
Definition and examples
4 · Platform SDKs and extensions
App manifest
In software engineering, an app manifest is a declarative file, usually in JSON or XML, that describes an app or extension to the platform that hosts it: its identity and version, the host versions it supports, its entry points, the functionality it contributes and the permissions or scopes it requests.
Platform SDK · Extension models
Definition and examplesApp marketplace
In software platforms, an app marketplace is the distribution channel run by a platform operator through which third-party apps and extensions are published, reviewed, listed, installed and in many cases sold, under the operator's developer policies.
Platform SDK · Extension models
Definition and examplesExtension point
In software engineering, an extension point is a defined place in a host application where extensions can contribute functionality, such as commands, views, file types or processing steps; the host declares the extension point and its contract, and extensions declare their contributions to it.
Platform SDK · Extension models
Definition and examplesMulti-tenancy
German: Mandantenfähigkeit
In software architecture, multi-tenancy is an arrangement in which one instance of an application or service serves several customers (tenants), each with its own data, configuration and users, kept logically isolated from the other tenants while the underlying resources are shared.
Platform SDKs · Security
Definition and examplesPlug-in
German: Plug-in
In software engineering, a plug-in (also spelled plugin) is a separately developed and distributed software component that a host application discovers and loads at run time or build time to add functions at extension points the host defines, without changing the host's own code.
Platform SDKs · Publishing SDKs
Definition and examplesSandboxing
In computer security, sandboxing is the execution of code in a restricted, controlled environment that prevents it from accessing system resources, data or other software except those it is explicitly authorized to use, so that faulty or malicious code has limited effect outside the sandbox.
Platform SDKs · Security
Definition and examplesSoftware as a service (SaaS)
NIST SP 800-145In cloud computing, software as a service (SaaS) is a service model in which a provider runs an application on its cloud infrastructure and customers use it over a network, typically through a web browser or an API, without managing the underlying infrastructure, operating systems or the application itself apart from limited user-specific settings.
Platform SDKs
Definition and examplesWebhook
In web integration, a webhook is an HTTP request, usually a POST with a JSON payload, that a platform sends to a URL registered by a subscriber when a specified event occurs, so that the subscriber is notified immediately instead of polling the platform for changes.
Platform SDKs · Developer SDKs
Definition and examples
5 · Hardware SDKs and devices
Android Native Development Kit (NDK)
In software engineering, the Android Native Development Kit (NDK) is Google's set of tools that lets developers write parts of an Android app in C and C++, compile that code into native libraries for the processor architectures Android supports and call it from Java or Kotlin code through the Java Native Interface (JNI).
Hardware SDK · Vendor product · Mobile platforms
Definition and examplesBoard support package (BSP)
In embedded systems, a board support package (BSP) is the board-specific collection of code, configuration and hardware description, such as bootloader settings, device drivers, a devicetree and kernel configuration, that lets an operating system or real-time operating system run on a particular circuit board.
Hardware SDK · Embedded systems
Definition and examplesCross-compilation
In software engineering, cross-compilation is the compilation of source code on one computer system, the host or build machine, into executable code for a different system, the target, typically one with another processor architecture or operating system, using a toolchain configured for that target.
Hardware SDK · Toolchains
Definition and examplesCUDA
In computing, CUDA is NVIDIA's parallel computing platform and programming model for running general-purpose computations on NVIDIA graphics processing units; its CUDA Toolkit, first released in 2007, provides a compiler, runtime, GPU-accelerated libraries and debugging and profiling tools.
Hardware SDK · Vendor product · AI
Definition and examplesDebug probe
In embedded systems, a debug probe is a hardware adapter that connects a development computer, usually over USB or Ethernet, to the debug port of a target processor, typically JTAG or Serial Wire Debug, so that a debugger can load programs into the target's memory, control execution and read registers and memory.
Hardware SDK · Embedded systems
Definition and examplesDebugger
German: Debugger
In software engineering, a debugger is a tool that lets a developer start, stop and step through a running program, set breakpoints and watchpoints and inspect variables, memory and registers, in order to find out what the program is doing or what it was doing when it failed.
Hardware SDK · Developer tools
Definition and examplesDevice tree
Devicetree Specification, Release v0.4In embedded systems, a device tree is a hierarchical data structure and source language for describing the hardware of a system, such as processors, memory, buses and peripherals, so that an operating system can configure itself for that hardware without hard-coding it; it is written as source files (.dts, .dtsi) and usually compiled into a binary blob (.dtb).
Hardware SDK · Embedded systems · Standards
Definition and examplesEmulator
German: Emulator
In computing, an emulator is software, or hardware, that imitates a target system, such as a processor, a complete device or a platform, closely enough that software built for the target runs on it unchanged.
Hardware SDK · Testing
Definition and examplesGraphics processing unit (GPU)
German: Grafikprozessor (GPU)
In computing, a graphics processing unit (GPU) is a processor designed for highly parallel computation, originally for rendering graphics and now also for general-purpose computing, that runs thousands of threads in parallel and trades single-thread speed for much higher total throughput than a central processing unit (CPU).
Hardware SDK · AI
Definition and examplesHardware abstraction layer (HAL)
German: Hardware-Abstraktionsschicht (HAL)
In software engineering, a hardware abstraction layer (HAL) is a layer of software with a standard interface that hides the differences between hardware implementations, so that higher-level software such as an operating system, a framework or an application can use differing devices in the same way while hardware vendors implement the device-specific part below the interface.
Hardware SDK · Embedded systems
Definition and examplesOpenXR
OpenXRIn extended reality (XR) development, OpenXR is a royalty-free open standard of the Khronos Group that defines a common application programming interface between XR applications and the runtimes of virtual reality (VR) and augmented reality (AR) devices, so that one application can run on devices of several vendors.
Hardware SDKs · Standards
Definition and examples
6 · SDK interoperation
Foreign function interface (FFI)
In programming languages, a foreign function interface (FFI) is a mechanism by which code written in one programming language calls functions, and uses data types, of code written in another, most often native libraries with a C calling convention, which makes the call depend on the binary interface of the foreign code.
SDK interoperation · Language interoperability
Definition and examplesInstrumentation (software)
In software engineering, instrumentation is the addition of code, libraries or agents to software so that its components emit telemetry, such as traces, metrics and logs, about what they are doing; it is added either in the code itself (code-based or manual instrumentation) or from outside without changing the code (zero-code or automatic instrumentation).
SDK interoperation · Observability
Definition and examplesOpenTelemetry
OpenTelemetry SpecificationIn software operations, OpenTelemetry (OTel) is a vendor-neutral open-source observability framework of the Cloud Native Computing Foundation (CNCF) that defines APIs, SDKs, semantic conventions, a data protocol (OTLP) and a Collector for generating, processing and exporting telemetry such as traces, metrics and logs.
SDK interoperation · Standards
Definition and examplesTelemetry
German: Telemetrie
In engineering and software operations, telemetry is the automated collection of measurements and event data at remote or distributed sources, such as devices, services and applications, and their transmission to another system for monitoring and analysis; in software it typically comprises metrics, logs and traces.
SDK interoperation · Hardware SDKs
Definition and examples
Definitions follow the cited standards and specifications. Where a source is a copyrighted publication, such as an ISO, IEC or EN standard, the definition is a close paraphrase, not a verbatim quotation, so as not to infringe copyright. We recommend reading the original publication. The sections “How it applies” are editorial commentary by AI TechDoc Knowledge and are not part of any standard.