Already at the beginning of prehistory, we reserved the use of the word platform to denote a complete programming environment and subsystem containing a language, runtime, components and all related libraries and binary files. What is a platform?
What is the platform?
We used to think of the platform as a basic computer system, but now we probably have to accept that the industry considers the platform to be something to build on. Simply put, the platform can be your smartphone, i.e. it has its own device shape and its own ability to connect to other software streams, so it is a platform with which you can do other things that were not originally foreseen at the time of the initial design – and this is an important point.
What do we learn from Facebook
I love it or hate it, Facebook is a good example of a platform AND software; and this duality helps explain the differentiation. The Facebook application is software, it is an application. You can log in to it online and use it as an internet service, or you can download it to your device and log in to the connected application. Most importantly, Facebook is also a platform for other applications.
What does the platform include?
Platforms may also include:
- The hardware itself, for small embedded systems. Embedded systems have direct access to hardware without an operating system; this is referred to as running on bare metal.
- Browser for Internet software. The browser itself works on the hardware + OS platform, but this does not apply to software running in the browser.
- An application, such as a spreadsheet or word processor, that supports software written in an application-specific scripting language, such as an Excel macro. This can be extended to writing valuable applications using Microsoft Office as a platform.
- A software framework that provides ready-made functions.
- Cloud computing and the platform as a service. By expanding the idea of a software framework, they enable application developers to create software from components hosted not by the programmer, but by the provider, connecting them together via the Internet. Twitter and Facebook social networking sites are also considered development platforms.
- A virtual machine (VM), such as a Java virtual machine or .NET CLR. Applications are compiled into a machine-like format known as bytecode, which is then executed by the virtual machine.
- A virtualized version of the complete system, including virtualized hardware, operating system, software and mass storage. For example, they allow you to run a typical Windows program on a Mac.