In computing, a platform describes some sort of hardware architecture or software framework (including application frameworks), that allows software to run. Typical platforms include a computer's architecture, operating system, programming languages and related runtime libraries or graphical user interface.

Hardware, operating system and virtual machine Rectify

In relation to hardware, platform often describes the set of hardware components that make up the computer itself, that the software is written to target (often just described as "written for an architecture"). Pure assembly language can be run on this hardware platform, but most commonly, operating system software is written to target it. But in doing so, it becomes a platform in itself, facilitating the running of other software that is used to target the operating system, and likewise the hardware architecture. Furthermore, software that is written for the operating system can be used to support the running of other software: for example a virtual machine (which targets a certain operating system/hardware) that is used to run other programs that are written for it, which constitutes another platform.

Role in softwareRectify

A platform is a crucial element in software development. A platform might be simply defined as 'a place to launch software'. It is an agreement that the platform provider gave to software developer that logic code will interpret consistently as long as the platform is running on top of other platforms. Logic code includes byte code, source code, and machine code.


Platforms are frequently mentioned with APIs. A complete suite of APIs constitute another type of platform called software platform. Software Platforms frequently are dependent to operating systems. However this is not always true. For example, two popular non-OS dependent platforms are Java, as mentioned above, and BREW for mobile phones.


Java programs are a typical example of the latter point. Java source code is "compiled" to an intermediate-language bytecode which is then interpreted by an interpreter, the JVM, which then interfaces that program with the Java software libraries. In phones, PDAs and other wireless mobile devices, these libraries are the Java ME. Some phones, even without a full fledged OS, enable Java programs such as games to operate. Java and the bytecode are said to be platform independent. But this is because Java is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning the programmer need not be concerned about the hardware or operating system platform, nor will the language change with a different platform.


.NET Framework is Microsoft's answer to Sun's Java. Microsoft .NET is an umbrella term that applies to a wide collection of products and technologies from Microsoft. Most have in common a dependence on the Microsoft .NET Framework, a component of the Windows operating system.

Microsoft products and components that fall into the .NET category include:

  • The Microsoft .NET Framework, an operating system component required by most .NET products.
  • Windows Live ID (formerly known as .NET Passport)

Operating system platform examplesRectify

Software platform examplesRectify

Hardware examplesRectify

Phone platformsRectify



Run timeRectify


Size of redistributable packages Rectify

Platform Version OS Size
.NET 1.1 Windows(x86) 23.2MB
.NET 2.0 Windows(x86) 22.4MB
.NET 3.0 Windows(x86) 50.3MB
.NET 3.5 Windows(x86) 197MB
Microsoft Silverlight 1.0 Windows(x86) 1.4MB
Java(JRE) 1.1.8_010 Windows(x86) 5.2MB
Java 1.2.2_017 Windows(x86) 7.2MB
Java 1.3.1_20 Windows(x86) 7.9MB
Java 1.4.2_17 Windows(x86) 15.1MB
Java 5 update 15 Windows(x86) 16.1MB
Java 6 update 6 Windows(x86) 15.2MB
Adobe Air 1.0.1 Windows(x86) 11.3MB
Adobe Flash Windows(x86) 1.4MB
XULRunner Windows(x86) 6.3MB(zip), 4.5MB(7z)


See alsoRectify