language-icon Old Web
English
Sign In

Cross-platform

In computing, 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. In computing, 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 example, a cross-platform application may run on Microsoft Windows, Linux, and macOS. 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, Flutter, NativeScript, Xamarin, Phonegap, Ionic, and React Native) exist to aid cross-platform development. Platform can refer to the type of processor (CPU) or other hardware on which a given operating system or application runs, the type of operating system on a computer or the combination of the type of hardware and the type of operating system running on it. An example of a common platform is Microsoft Windows running on the x86 architecture. Other well-known desktop computer platforms include Linux/Unix and macOS - both of which are themselves cross-platform. 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. A hardware platform can refer to an instruction set architecture. For example: x86 architecture and its variants such as IA-32 and x86-64. These machines often run one version of Microsoft Windows, though they can run other operating systems as well, including Linux, OpenBSD, NetBSD, macOS and FreeBSD. The 32-bit ARM architectures (and newer 64-bit version) is common on smartphones and tablet computers, which run Android, iOS and other mobile operating systems. Software platforms can either be an operating system or programming environment, though more commonly it is a combination of both. A notable exception to this is Java, which uses an operating system independent virtual machine for its compiled code, known in the world of Java as bytecode. Examples of software platforms are: As previously noted, the Java platform is an exception to the general rule that an operating system is a software platform. The Java language typically compiles to a virtual machine: a virtual CPU which runs all of the code that is written for the language. This enables the same executable binary to run on all systems that implement a Java Virtual Machine (JVM). Java programs can be executed natively using a Java processor. This isn't common and is mostly used for embedded systems. Java code running in the JVM has access to OS-related services, like disk I/O and network access, if the appropriate privileges are granted. The JVM makes the system calls on behalf of the Java application. This setup allows users to decide the appropriate protection level, depending on an ACL. For example, disk and network access is usually enabled for desktop applications, but not for browser-based applets. JNI can also be used to enable access to operating system specific functions. Currently, Java Standard Edition programs can run on Microsoft Windows, macOS, several Unix-like operating systems, and several more non-UNIX-like operating systems like embedded systems. For mobile applications, browser plugins are used for Windows and Mac based devices, and Android has built-in support for Java. There are also subsets of Java, such as Java Card or Java Platform, Micro Edition, designed for resource-constrained devices.

[ "Operating system", "World Wide Web", "Embedded system", "Programming language" ]
Parent Topic
Child Topic
    No Parent Topic