Computing platform: Difference between revisions

Content deleted Content added
add content property issues @UrielAdonaiJiménezLeal
Tags: Reverted Mobile edit Mobile web edit
→‎Components: Remove extra blank line.
 
(59 intermediate revisions by 31 users not shown)
Line 1:
{{More citations needed|date=August 20102024}}
{{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 an environment in which a piece of [[software]] is executed. It may be the [[Computer hardware|hardware]] or the [[operating system]] (OS), even a [[web browser]] and associated [[application programming interface]]s, or other underlying software, as long as the [[program code]] is executed with it. Computing platforms have different [[Abstraction (software engineering)|abstraction]] levels, including a [[computer architecture]], an OS, or [[runtime library|runtime libraries]].<ref>"[[:foldoc:platform|platform]]". ''[[Free On-line Dictionary of Computing]]''</ref> A computing platform is the stage on which computer programs can run.
 
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 anthe environmentinfrastructure inon which a piece of [[software]] is executed. It may beWhile the [[Computerindividual hardware|hardware]]components or the [[operating system]] (OS), evenof a [[webcomputing browser]]platform and associatedmay [[applicationbe programmingobfuscated interface]]s,under orlayers other underlying software, as long as the [[program code]] is executed with it. Computing platforms have differentof [[Abstraction (software engineering)|abstraction]] levels, including a [[computer architecture]], an OS, or [[runtime library|runtime libraries]].<ref>"[[:foldoc:platform|platform]]".the ''[[Free On-line Dictionarysummation of Computing]]''</ref>the Arequired computingcomponents platform iscomprise the stagecomputing onplatform''. 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/AdonaiRassta 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 [[computer network|network]].
 
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==
Line 13 ⟶ 17:
* [[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.
 
Line 28 ⟶ 32:
** [[Linux]]
*** [[EulerOS]]
**** [[EulerOS|openEuler]]
** [[FreeBSD]], [[NetBSD]], [[OpenBSD]]
** [[macOS]]
Line 37 ⟶ 42:
* [[Microsoft Windows]]
* [[OpenVMS]]
* [[Classic Mac OS]] - discontinued in 20112002
* [[OS/2]]
* [[QNX]]
Line 44 ⟶ 49:
** [[VM (operating system)|VM]]
** [[z/OS]]
* [[HarmonyOS]]
 
===Mobile===
Line 61 ⟶ 67:
* [[LuneOS]]
* [[Newton OS]] on [[Newton (platform)|Newton]] devices from Apple
* [[Palm OS]] - discontinued in 20112009
* [[Symbian]] - discontinued in 2012
* [[Sailfish OS]]
Line 81 ⟶ 87:
* [[Adobe Flash|Flash]]
** [[Adobe AIR|AIR]]
* GNU
* [[Java (software platform)|Java]]
** [[Java ME]]
Line 101 ⟶ 106:
* [[Huawei Mobile Services|HMS Core]]
* Cangjie
* [[ArkTS]]
* [[ArkUI]]
** [[ArkUI#ArkUI-X|ArkUI-X]]
* Huawei Phoenix Engine
** Phoenix Engine Ray Shop
 
==Hardware examples==