Computing platform

Short description: Environment in which a piece of software is executed

A computing platform, digital platform,[1] 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.[2] 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.

## Contents

* 1 Components
* 2 Operating system examples
* 2.1 Desktop, laptop, server
* 2.2 Mobile
* 3 Software examples
* 4 Hardware examples
* 5 See also
* 6 References
* 7 External links

## 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.[3]
* 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.[4]
* 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.[5] The social networking sites Twitter and Facebook are also considered development platforms.[6][7]
* 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.[8]

## Operating system examples

Further information: List of operating systems

### 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
* QubesOS
* OSF/1
* Tru64 UNIX
* z/OS
* VM
* OpenVMS
* QNX
* Classic Mac OS
* AmigaOS
* DOS
* Windows
* BeOS
* Haiku
* HarmonyOS

### Mobile

Android, a popular mobile operating system

* 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.[9][10][11] Thus Firefox extensions are now largely compatible with their Chrome counterparts.[12]
* 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

Further information: Lists of computers

* 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

Microsoft introduced Power Platform in 2018.[13]

## References

1. ↑ "What I Talk About When I Talk About Platforms". martinfowler.com. https://martinfowler.com/articles/talk-about-platforms.html.
2. ↑ "platform".
3. ↑ Andrew Binstock (July 2, 2012). "Google's Redefinition of the Browser As Platform". http://www.drdobbs.com/web-development/googles-redefinition-of-the-browser-as-p/240003086?itc=edit_stub.
4. ↑ "Microsoft Office as a Platform for Software + Services". http://msdn.microsoft.com/en-us/library/bb906062.aspx.
5. ↑ "What Is PAAS?". http://www.interoute.com/what-paas.
6. ↑ "Twitter Development Platform - Twitter Developers". https://dev.twitter.com/.
7. ↑ "Facebook Development Platform Launches...". August 15, 2006. https://www.facebook.com/notes/2207512130.
8. ↑ "Platform independence in Java's Byte Code". https://stackoverflow.com/questions/17101796/platform-independence-in-javas-byte-code.
9. ↑ "The Future of Developing Firefox Add-ons" (in en-US). https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons/.
10. ↑ "Upcoming Changes in Compatibility Features" (in en-US). https://blog.mozilla.org/addons/2017/08/10/upcoming-changes-compatibility/.
11. ↑ "How to enable legacy extensions in Firefox 57 - gHacks Tech News". 12 August 2017. https://www.ghacks.net/2017/08/12/how-to-enable-legacy-extensions-in-firefox-57/.
12. ↑ "Porting a Google Chrome extension". Mozilla. https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension.
13. ↑ "Microsoft Power Platform". Microsoft. https://learn.microsoft.com/....

## External links

| Wikidata has the property:

* NO LABEL (P400) (see uses)

|

* Ryan Sarver: What is a platform?

Microsoft introduced Power Platform in 2018.[1]

* v
* t
* e

Computer science

Note: This template roughly follows the 2012 ACM Computing Classification System.

Hardware|

* Printed circuit board
* Peripheral
* Integrated circuit
* Very Large Scale Integration
* Systems on Chip (SoCs)
* Energy consumption (Green computing)
* Electronic design automation
* Hardware acceleration

Computer systems
organization|

* Computer architecture
* Embedded system
* Real-time computing
* Dependability

Networks|

* Network architecture
* Network protocol
* Network components
* Network scheduler
* Network performance evaluation
* Network service

Software organization|

* Interpreter
* Middleware
* Virtual machine
* Operating system
* Software quality

Software notations
and tools|

* Programming paradigm
* Programming language
* Compiler
* Domain-specific language
* Modeling language
* Software framework
* Integrated development environment
* Software configuration management
* Software library
* Software repository

Software development|

* Software development process
* Requirements analysis
* Software design
* Software construction
* Software deployment
* Software maintenance
* Programming team
* Open-source model

Theory of computation|

* Model of computation
* Formal language
* Automata theory
* Computational complexity theory
* Logic
* Semantics

Algorithms|

* Algorithm design
* Analysis of algorithms
* Algorithmic efficiency
* Randomized algorithm
* Computational geometry

Mathematics
of computing|

* Discrete mathematics
* Probability
* Statistics
* Mathematical software
* Information theory
* Mathematical analysis
* Numerical analysis

Information
systems|

* Database management system
* Information storage systems
* Enterprise information system
* Social information systems
* Geographic information system
* Decision support system
* Process control system
* Multimedia information system
* Data mining
* Digital library
* Computing platform
* Digital marketing
* World Wide Web
* Information retrieval

Security|

* Cryptography
* Formal methods
* Security services
* Intrusion detection system
* Hardware security
* Network security
* Information security
* Application security

Human–computer
interaction|

* Interaction design
* Social computing
* Ubiquitous computing
* Visualization
* Accessibility

Concurrency|

* Concurrent computing
* Parallel computing
* Distributed computing
* Multithreading
* Multiprocessing

Artificial
intelligence|

* Natural language processing
* Knowledge representation and reasoning
* Computer vision
* Automated planning and scheduling
* Search methodology
* Control method
* Philosophy of artificial intelligence
* Distributed artificial intelligence

Machine learning|

* Supervised learning
* Unsupervised learning
* Reinforcement learning
* Multi-task learning
* Cross-validation

Graphics|

* Animation
* Rendering
* Image manipulation
* Graphics processing unit
* Mixed reality
* Virtual reality
* Image compression
* Solid modeling

Applied
computing|

* E-commerce
* Enterprise software
* Computational mathematics
* Computational physics
* Computational chemistry
* Computational biology
* Computational social science
* Computational engineering
* Computational healthcare
* Digital art
* Electronic publishing
* Cyberwarfare
* Electronic voting
* Video games
* Word processing
* Operations research
* Educational technology
* Document management

* Book
* Category
* Outline
* WikiProject
* Commons

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Computing platform. Read more

|

1. ↑ "Microsoft Power Platform". Microsoft. https://learn.microsoft.com/....

Retrieved from "https://handwiki.org/wiki/index.php?title=Computing_platform&oldid=4568577"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template