Cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms. For examples, a cross-platform application may run on Microsoft Windows on the x86 architecture, Linux on the x86 architecture and macOS on either the PowerPC or x86-based Apple Macintosh systems. Cross-platform programs may run on as many as all existing platforms, or on as few as two platforms. Cross-platform frameworks (such as Qt, Xamarin, Phonegap, or Ionic) exist to aid cross-platform development.