 There are also subsets of Java, such as Java Card or Java Platform, Micro Edition, designed for resource-constrained devices.For a piece of software to be considered cross-platform, it must be able to function on more than one computer architecture or operating system.Developing such a program can be a time-consuming task because different operating systems have different application programming interfaces (API).