Computing platform
A computing platform, digital platform,[1] or software platform is an environment in which software is executed. It may be the hardware or the operating system (OS), a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed using the services provided by the platform. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries.[2] A computing platform is the stage on which computer programs can run.
A platform can be seen both as a constraint on the software development process, in that different platforms provide different functionality and restrictions; and as an assistant to the development process, in that they provide low-level functionality ready-made. For example, an OS may be a platform that abstracts the underlying differences in hardware and provides a generic command for saving files or accessing the network.
Hardware alone, in the case of small . Embedded systems can access hardware directly, without an OS; this is referred to as running on "bare metal".
embedded systems
A 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.[3]
browser
An application, such as a spreadsheet or word processor, which hosts software written in an application-specific , such as an Excel macro. This can be extended to writing fully-fledged applications with the Microsoft Office suite as a platform.[4]
scripting language
that provide ready-made functionality.
Software frameworks
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.[5] The social networking sites Twitter and Facebook are also considered development platforms.[6][7]
Cloud computing
A (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.
virtual machine
A 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.
virtualized
Platforms may also include:
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.[8]
ChromeOS
Unix
Linux
IBM i
Microsoft Windows
OpenVMS
- discontinued in 2002
Classic Mac OS
OS/2
QNX
with their custom operating systems
Midrange computers
Mainframe computers
VM
EulerOS
openEuler
HarmonyOS
Shockwave
(BREW)
Binary Runtime Environment for Wireless
Cocoa
Cocoa Touch
.NET
Mono
Flash
AIR
Java
Java ME
LiveCode
Microsoft XNA
Mozilla is modeled after Google Chrome's API.[9][10][11] Thus Firefox extensions are now largely compatible with their Chrome counterparts.[12]
WebExtensions API
Web platform
Oracle Database
Qt
SAP NetWeaver
Smartface
Universal Windows Platform
Windows Runtime
HMS Core
Cangjie
ArkTS
ArkUI
ArkUI-X
ARM architecture
Raspberry Pi
systems
IBM PC compatible
IBM mainframes
z/Architecture
Video game consoles
3DO Interactive Multiplayer
architectures