 There are, however, many devices such as smartphones that are also effectively computer platforms but less commonly thought about in that way.Application software can be written to depend on the features of a particular platform—either the hardware, operating system, or virtual machine it runs on.The Java platform is a virtual machine platform which runs on many operating systems and hardware types, and is a common platform for software to be written for.