
This article needs additional citations for verification.(August 2024) |
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
- Darwin
- 386BSD
- NetBSD
- OpenBSD
- FreeBSD
- DragonFly BSD
- NetBSD
- System V
- HP-UX
- IBM AIX
- A/UX
- Solaris
- OpenSolaris
- illumos
- OpenIndiana
- illumos
- OpenSolaris
- MINIX
- GNU Hurd
- Linux
- Android
- ChromeOS
- OSF/1
- Tru64 UNIX
- z/OS
- BSD
- VM
- OpenVMS
- DOS
- MS-DOS / IBM PC DOS
- Windows 9x
- FreeDOS
- MS-DOS / IBM PC DOS
- QNX
- Classic Mac OS
- AmigaOS
- OS/2
- IBM i
- Windows NT
- BeOS
- Haiku
- HarmonyOS
Mobile
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 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
- 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
- "What I Talk About When I Talk About Platforms". martinfowler.com. Retrieved 2018-03-18.
- "platform".
- Andrew Binstock (July 2, 2012). "Google's Redefinition of the Browser As Platform". Dr. Dobbs.
- Chip Wilson; Alan Josephson. "Microsoft Office as a Platform for Software + Services". Microsoft Developer Network.
- "What Is PAAS?". Interoute. Archived from the original on 2015-10-22. Retrieved 2014-01-28.
- "Twitter Development Platform - Twitter Developers".
- "Facebook Development Platform Launches..." Facebook. August 15, 2006.
- "Platform independence in Java's Byte Code". Stack Overflow.
- "The Future of Developing Firefox Add-ons". Mozilla Add-ons Blog. Retrieved 2018-12-15.
- "Upcoming Changes in Compatibility Features". Mozilla Add-ons Blog. Retrieved 2018-12-15.
- "How to enable legacy extensions in Firefox 57 - gHacks Tech News". www.ghacks.net. 12 August 2017. Retrieved 2018-12-14.
- "Porting a Google Chrome extension". Mozilla. Retrieved 30 December 2018.
External links
platform (P400) (see uses)
Media related to Computing platforms at Wikimedia Commons
- Ryan Sarver: What is a platform?
This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Computing platform news newspapers books scholar JSTOR August 2024 Learn how and when to remove this message 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 ComponentsPlatforms 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 examplesDesktop 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 HarmonyOSMobile Android a popular mobile operating systemNewton 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 FuchsiaSoftware examplesShockwave 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 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 ShopHardware examplesARM 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 architecturesSee alsoCross platform software Hardware virtualization Third platform Platform ecosystemReferences What I Talk About When I Talk About Platforms martinfowler com Retrieved 2018 03 18 platform Andrew Binstock July 2 2012 Google s Redefinition of the Browser As Platform Dr Dobbs Chip Wilson Alan Josephson Microsoft Office as a Platform for Software Services Microsoft Developer Network What Is PAAS Interoute Archived from the original on 2015 10 22 Retrieved 2014 01 28 Twitter Development Platform Twitter Developers Facebook Development Platform Launches Facebook August 15 2006 Platform independence in Java s Byte Code Stack Overflow The Future of Developing Firefox Add ons Mozilla Add ons Blog Retrieved 2018 12 15 Upcoming Changes in Compatibility Features Mozilla Add ons Blog Retrieved 2018 12 15 How to enable legacy extensions in Firefox 57 gHacks Tech News www ghacks net 12 August 2017 Retrieved 2018 12 14 Porting a Google Chrome extension Mozilla Retrieved 30 December 2018 External linksWikidata has the property platform P400 see uses Media related to Computing platforms at Wikimedia Commons Ryan Sarver What is a platform