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.

Components

edit

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

edit

Desktop, laptop, server

edit

Mobile

edit
Android, a popular mobile operating system

Software examples

edit

Hardware examples

edit

See also

edit

References

edit
  1. ^ "What I Talk About When I Talk About Platforms". martinfowler.com. Retrieved 2018-03-18.
  2. ^ "platform".
  3. ^ Andrew Binstock (July 2, 2012). "Google's Redefinition of the Browser As Platform". Dr. Dobbs.
  4. ^ Chip Wilson; Alan Josephson. "Microsoft Office as a Platform for Software + Services". Microsoft Developer Network.
  5. ^ "What Is PAAS?". Interoute. Archived from the original on 2015-10-22. Retrieved 2014-01-28.
  6. ^ "Twitter Development Platform - Twitter Developers".
  7. ^ "Facebook Development Platform Launches..." Facebook. August 15, 2006.
  8. ^ "Platform independence in Java's Byte Code". Stack Overflow.
  9. ^ "The Future of Developing Firefox Add-ons". Mozilla Add-ons Blog. Retrieved 2018-12-15.
  10. ^ "Upcoming Changes in Compatibility Features". Mozilla Add-ons Blog. Retrieved 2018-12-15.
  11. ^ "How to enable legacy extensions in Firefox 57 - gHacks Tech News". www.ghacks.net. 12 August 2017. Retrieved 2018-12-14.
  12. ^ "Porting a Google Chrome extension". Mozilla. Retrieved 30 December 2018.
edit
  • Wikimedia Commons logo Media related to Computing platforms at Wikimedia Commons
  • Ryan Sarver: What is a platform?

📚 Artikel Terkait di Wikipedia

Cloud computing

computing Category:Cloud computing providers Category:Cloud platforms Cloud computing architecture Cloud broker Cloud collaboration Cloud-computing comparison

Trusted Computing

Trusted Computing (TC) is a technology developed and promoted by the Trusted Computing Group. The term is taken from the field of trusted systems and has

CUDA

CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) developed by the American

Cross-platform software

Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer

Novena (computing platform)

Novena is an open-source computing hardware project designed by Andrew "bunnie" Huang and Sean "Xobs" Cross. The initial design of Novena started in 2012

Rigetti Computing

California, also develops a cloud platform called Forest that enables programmers to execute quantum algorithms. Rigetti Computing was founded in 2013 by Chad

Computing

Computing is any goal-oriented activity that requires, benefits from, or creates computing machinery. It includes the study and experimentation of algorithmic

Web platform

The Web platform is a collection of technologies developed as open standards by the World Wide Web Consortium and other standardization bodies such as