Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computing platform
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{More citations needed|date=August 2024}} {{short description|Environment in which a piece of software is executed}} A '''computing platform''', '''digital platform''',<ref>{{Cite news|url=https://martinfowler.com/articles/talk-about-platforms.html|title=What I Talk About When I Talk About Platforms|work=martinfowler.com|access-date=2018-03-18}}</ref> 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 (software engineering)|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 [[computer architecture|architecture]], [[operating system]] (OS), and [[runtime library|runtime libraries]].<ref>"[[:foldoc:platform|platform]]".</ref> In the case of an [[Application software|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 software|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 [[Computer hardware|hardware]], [[operating system]] (OS), and [[runtime library|runtime libraries]] along with other computers utilized for [[Process (computing)|processing]] that are accessed via [[application programming interface]]s 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 system]]s. Embedded systems can access hardware directly, without an OS; this is referred to as running on "[[bare metal (computing)|bare metal]]". * [[Device driver]]s and [[firmware]]. * A [[Web browser|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.<ref>{{cite web|url=http://www.drdobbs.com/web-development/googles-redefinition-of-the-browser-as-p/240003086?itc=edit_stub|title=Google's Redefinition of the Browser As Platform|author=Andrew Binstock|date=July 2, 2012|website=[[Dr. Dobbs]]}}</ref> * 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.<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/bb906062.aspx|title=Microsoft Office as a Platform for Software + Services|author1=Chip Wilson|author2=Alan Josephson|website=[[Microsoft Developer Network]]}}</ref> * [[Software framework]]s 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.<ref>{{cite web|url=http://www.interoute.com/what-paas|title=What Is PAAS?|website=[[Interoute]]|access-date=2014-01-28|archive-date=2015-10-22|archive-url=https://web.archive.org/web/20151022043235/http://www.interoute.com/what-paas|url-status=dead}}</ref> The social networking sites [[Twitter]] and [[Facebook]] are also considered development platforms.<ref>{{cite web|url=https://dev.twitter.com/|title=Twitter Development Platform - Twitter Developers}}</ref><ref>{{cite web|url=https://www.facebook.com/notes/2207512130|title=Facebook Development Platform Launches...|website=[[Facebook]]|date=August 15, 2006}}</ref> * A [[application virtual machine]] (VM) such as the [[Java virtual machine]] or [[Common Language Runtime|.NET CLR]]. Applications are compiled into a format similar to machine code, known as [[bytecode]], which is then executed by the VM. * A [[virtualization|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.<ref>{{cite web|url=https://stackoverflow.com/questions/17101796/platform-independence-in-javas-byte-code|title=Platform independence in Java's Byte Code|website=Stack Overflow}}</ref> ==Operating system examples== {{Details|List of operating systems}} ===Desktop, laptop, server=== * [[Unix]] and [[Unix-like]] ** [[Berkeley Software Distribution|BSD]] *** [[SunOS]] *** [[NeXTSTEP]] **** [[Darwin (operating system)|Darwin]] ***** [[macOS]] ***** [[Darwin (operating system)#OpenDarwin|OpenDarwin]] *** [[386BSD]] **** [[NetBSD]] ***** [[OpenBSD]] **** [[FreeBSD]] ***** [[DragonFly BSD]] ** [[UNIX System V|System V]] *** [[HP-UX]] *** [[IBM AIX]] *** [[A/UX]] *** [[Solaris (operating system)|Solaris]] **** [[OpenSolaris]] ***** [[illumos]] ****** [[OpenIndiana]] ** [[Minix|MINIX]] ** [[GNU Hurd]] ** [[Linux]] *** [[Android (operating system)|Android]] *** [[ChromeOS]] ** [[OSF/1]] *** [[Tru64 UNIX]] ** [[z/OS]] * [[VM (operating system)|VM]] * [[OpenVMS]] * [[DOS]] ** [[MS-DOS]] / [[IBM PC DOS]] *** [[Windows 9x]] *** [[FreeDOS]] * [[QNX]] * [[Classic Mac OS]] * [[AmigaOS]] * [[OS/2]] * [[IBM i]] * [[Windows NT]] * [[BeOS]] ** [[Haiku (operating system)|Haiku]] * [[HarmonyOS]] ===Mobile=== [[File:Android_Nougat_screenshot_20170116-070000.png|thumb|150px|[[Android (operating system)|Android]], a popular mobile operating system]] * [[Newton OS]] * [[Palm OS]] * [[Symbian]] * [[BlackBerry OS]] * [[Windows Mobile]] * [[Unix]] and [[Unix-like]] ** [[iOS]] *** [[iPadOS]] *** [[watchOS]] ** [[Linux]] *** [[Android (operating system)|Android]] **** [[Fire OS]] **** [[LineageOS]] *** [[webOS]] *** [[Bada (operating system)|Bada]] *** [[Ubuntu Touch]] *** [[Tizen]] *** [[Firefox OS]] **** [[KaiOS]] *** [[Sailfish OS]] *** [[LuneOS]] *** [[postmarketOS]] * [[Microsoft Windows|Windows]] ** [[Windows Phone]] ** [[Windows 10 Mobile]] * [[BlackBerry 10]] * [[HarmonyOS]] * [[Fuchsia (operating system)|Fuchsia]] ==Software examples== * [[Adobe Shockwave|Shockwave]] * [[Binary Runtime Environment for Wireless]] (BREW) * [[Cocoa (API)|Cocoa]] * [[Cocoa Touch]] * [[.NET]] ** [[Mono (software)|Mono]] ** [[.NET Framework]] ** [[Silverlight]] * [[Adobe Flash|Flash]] ** [[Adobe AIR|AIR]] * [[Java (software platform)|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.<ref>{{Cite web|url=https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons/|title=The Future of Developing Firefox Add-ons|website=Mozilla Add-ons Blog|language=en-US|access-date=2018-12-15}}</ref><ref name="57plan">{{Cite web|url=https://blog.mozilla.org/addons/2017/08/10/upcoming-changes-compatibility/|title=Upcoming Changes in Compatibility Features|website=Mozilla Add-ons Blog|language=en-US|access-date=2018-12-15}}</ref><ref name="legacy">{{Cite web|url=https://www.ghacks.net/2017/08/12/how-to-enable-legacy-extensions-in-firefox-57/|title=How to enable legacy extensions in Firefox 57 - gHacks Tech News|website=www.ghacks.net| date=12 August 2017 |access-date=2018-12-14}}</ref> Thus Firefox extensions are now largely compatible with their Chrome counterparts.<ref>{{cite web |title=Porting a Google Chrome extension |url=https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension |publisher=Mozilla |access-date=30 December 2018}}</ref> * [[Web platform]] * [[Oracle Database]] * [[Qt (software)|Qt]] * [[SAP NetWeaver]] * [[Smartface]] * [[Universal Windows Platform]] ** [[Windows Runtime]] * [[Huawei Mobile Services|HMS Core]] * Cangjie * [[ArkTS]] * [[ArkUI]] ** [[ArkUI#ArkUI-X|ArkUI-X]] * Huawei Phoenix Engine ** Phoenix Engine Ray Shop ==Hardware examples== {{Details|Lists of computers}} * [[ARM architecture family|ARM architecture]] based devices ** [[Raspberry Pi]] or [[Gumstix]] full function miniature computers ** ARM servers with [[Unix-like]] systems such as [[Linux]] or [[Berkeley Software Distribution|BSD]] variants **[[Chromebook|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 console]]s, 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== {{reflist}} ==External links== {{Wikidata property|P400}} *{{Commonscatinline}} *[https://ryansarver.wordpress.com/2013/09/26/what-is-a-platform/ Ryan Sarver: What is a platform?] {{Computer science}} [[Category:Computing platforms| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Commonscatinline
(
edit
)
Template:Computer science
(
edit
)
Template:Details
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Wikidata property
(
edit
)