Computing platform. A computing platform, digital platform, or software platform is the infrastructure on which software is executed. While the individual components of a computing platform  may be obfuscated under layers of abstraction, the summation of the required components comprise the computing platform. 

Sometimes, the most relevant layer for a specific software is called a computing platform in itself to facilitate the communication, referring to the whole using only one of its attributes – i.e. using a metonymy. 

For example, in a single computer system, this would be the computer's architecture, operating system (OS), and runtime libraries. In the case of an application program or a computer video game, the most relevant layer is the operating system, so it can be called a platform itself (hence the term cross-platform for software that can be executed on multiple OSes, in this context). 
In a multi-computer system, such as in the case of offloading processing, it would encompass both the host computer's hardware, operating system (OS), and runtime libraries along with other computers utilized for  processing that are accessed via application programming interfaces or a web browser. As long as it is a required component for the program code to execute, it is part of the computing platform.

Components
Platforms may also include:

 Hardware alone, in the case of small embedded systems. Embedded systems can access hardware directly, without an OS; this is referred to as running on "bare metal".
 Device drivers and firmware.
 A browser in the case of web-based software. The browser itself runs on a hardware+OS platform, but this is not relevant to software running within the browser.
 An application, such as a spreadsheet or word processor, which hosts software written in an application-specific scripting language, such as an Excel macro. This can be extended to writing fully-fledged applications with the Microsoft Office suite as a platform.
 Software frameworks that provide ready-made functionality.
 Cloud computing and Platform as a Service. Extending the idea of a software framework, these allow application developers to build software out of components that are hosted not by the developer, but by the provider, with internet communication linking them together. The social networking sites Twitter and Facebook are also considered development platforms.
 A application virtual machine (VM) such as the Java virtual machine or .NET CLR. Applications are compiled into a format similar to machine code, known as bytecode, which is then executed by the VM.
 A virtualized version of a complete system, including virtualized hardware, OS, software, and storage. These allow, for instance, a typical Windows program to run on what is physically a Mac.

Some architectures have multiple layers, with each layer acting as a platform for the one above it. In general, a component only has to be adapted to the layer immediately beneath it. For instance, a Java program has to be written to use the Java virtual machine (JVM) and associated libraries as a platform but does not have to be adapted to run on the Windows, Linux or Macintosh OS platforms. However, the JVM, the layer beneath the application, does have to be built separately for each OS.

Operating system examples

Desktop, laptop, server
 Unix and Unix-like
 BSD
 SunOS
 NeXTSTEP
 Darwin
 macOS
 OpenDarwin
 386BSD
 NetBSD
 OpenBSD
 FreeBSD
 DragonFly BSD
 System V
 HP-UX
 IBM AIX
 A/UX
 Solaris
 OpenSolaris
 illumos
 OpenIndiana
 MINIX
 GNU Hurd
 Linux
 Android
 ChromeOS
 OSF/1
 Tru64 UNIX
 z/OS
 VM
 OpenVMS
 DOS
 MS-DOS / IBM PC DOS
 Windows 9x
 FreeDOS
 QNX
 Classic Mac OS
 AmigaOS
 OS/2
 IBM i
 Windows NT
 BeOS
 Haiku
 HarmonyOS

Mobile

 Newton OS
 Palm OS
 Symbian
 BlackBerry OS
 Windows Mobile
 Unix and Unix-like
 iOS
 iPadOS
 watchOS
 Linux
 Android
 Fire OS
 LineageOS
 webOS
 Bada
 Ubuntu Touch
 Tizen
 Firefox OS
 KaiOS
 Sailfish OS
 LuneOS
 postmarketOS
 Windows
 Windows Phone
 Windows 10 Mobile
 BlackBerry 10
 HarmonyOS
 Fuchsia

Software examples
 Shockwave
 Binary Runtime Environment for Wireless (BREW)
 Cocoa
 Cocoa Touch
 .NET
 Mono
 .NET Framework
 Silverlight
 Flash
 AIR
 Java
 Java ME
 Java SE
 Java EE
 JavaFX
 JavaFX Mobile
 LiveCode
 Microsoft XNA
 Mozilla Prism, XUL and XULRunner
 Mozilla WebExtensions API is modeled after Google Chrome's API. Thus Firefox extensions are now largely compatible with their Chrome counterparts.
 Web platform
 Oracle Database
 Qt
 SAP NetWeaver
 Smartface
 Universal Windows Platform
 Windows Runtime
 HMS Core
 Cangjie
 ArkTS
 ArkUI
 ArkUI-X
 Huawei Phoenix Engine
 Phoenix Engine Ray Shop

Hardware examples

 ARM architecture based devices
 Raspberry Pi or Gumstix full function miniature computers
 ARM servers with Unix-like systems such as Linux or BSD variants
ChromeBooks from various manufacturers
 IBM PC compatible systems
 IBM System p and IBM Power Systems computers
 IBM z/Architecture mainframes
 CP/M computers based on the S-100 bus, maybe the earliest microcomputer platform
 Video game consoles, any variety (PlayStation, Xbox, Nintendo)
 3DO Interactive Multiplayer, that was licensed to manufacturers
 Apple Pippin, a multimedia player platform for video game console development
 Supercomputer architectures

See also

 Cross-platform software
 Hardware virtualization
 Third platform
 Platform ecosystem

References

External links

Ryan Sarver: What is a platform?