Computing platform

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Computing platform means in general sense, where any piece of software is executed. It may be the hardware or OS, even a web browser as long as the code is executed in it.

The term computing platform can refer to different abstraction levels, including a certain hardware architecture, an operating system (OS), and runtime libraries.[1] In total it can be said to be the stage on which computer programs can run.

A platform can be seen both as a constraint on the application development process as different platform provide different functionality and restrictions; and an assistance 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 difference in hardware and provide a generic command for saving files or accessing network.


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".
  • 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.[2]
  • 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.[3]
  • 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.[4] The social networking sites Twitter and facebook are also considered development platforms.[5][6]
  • A virtual machine (VM) such as the Java virtual machine.[7] 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 to 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 for 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]

Operating system examples[edit]

For more details on this topic, see List of operating systems.


Android, a popular mobile operating system

Software frameworks[edit]

For more details on this topic, see Software framework.

Hardware examples[edit]

For more details on this topic, see Lists of computers.

Ordered roughly, from more common types to less common types:

Software examples[edit]


1 Windows 7 20.04%

2 iOS 9 19.47%

3 Android Lolipop 14.05%

4 Android 4.0 12.59%

5 Windows 10 8.52%

6 Windows 8.1 5.02%

7 macOS 4.19%

8 iOS 8 3.76%

9 Windows XP 2.36%

10 Linux 1.76%

First party software[edit]

Software is considered first party if it is originated by the platform vendor. Software from other vendors is considered Third party.

See also[edit]


External links[edit]