Cross-platform software

Cross-platformPlatform independentmulti-platformcross platformplatform-independentmultiplatformCross-platform (multi-platform)platform independencemultiple platformsMulti-channel app development
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.wikipedia
3,109 Related Articles

Xamarin

Xamarin StudioRoboVMXamarin Mobile
Cross-platform frameworks (such as Qt, Flutter, NativeScript, Xamarin, Phonegap, Ionic, and React Native) exist to aid cross-platform development.
Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android (formerly Mono for Android) and Xamarin.iOS (formerly MonoTouch), which are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications (often called Microsoft .NET).

Bytecode

byte codebyte-codeintermediate code
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.
Intermediate representations such as bytecode may be output by programming language implementations to ease interpretation, or it may be used to reduce hardware and operating system dependence by allowing the same code to run cross-platform, on different devices.

NetBSD

BSDCryptographic Device DriverNetBSD Foundation
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.
This platform independence aids the development of embedded systems, particularly since NetBSD 1.6, when the entire toolchain of compilers, assemblers, linkers, and other tools fully support cross-compiling.

Mono (software)

MonoMonoTouchMono Framework
The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers.

Interpreted language

interpretedinterpreted programming languageinterpreter
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.

Java (software platform)

JavaJava platformJava application
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.
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment.

MacOS

Mac OS XOS XMac
For example, a cross-platform application may run on Microsoft Windows, Linux, and macOS.
macOS also used to support the Java Platform as a "preferred software package"—in practice this means that applications written in Java fit as neatly into the operating system as possible while still being cross-platform compatible, and that graphical user interfaces written in Swing look almost exactly like native Cocoa interfaces.

.NET Framework

.NETMicrosoft .NET FrameworkMicrosoft .NET
That is, a script written in Python for a Unix-like system will likely run with little or no modification on Windows, because Python also runs on Windows; there is also more than one implementation of Python that will run the same scripts (e.g., IronPython for .NET Framework).
.NET Core targets the Universal Windows Platform (UWP), and cross-platform and cloud computing workloads.

C (programming language)

CC programming languageC language
This also means that just because a program is written in a popular programming language such as C or C++, it does not mean it will run on all operating systems that support that programming language—or even on the same operating system on a different architecture.
Despite its low-level capabilities, the language was designed to encourage cross-platform programming.

Conditional compilation

modifies the compilation process to match the system
One technique is conditional compilation.
This technique is commonly used when these differences are needed to run the software on different platforms, or with different versions of required libraries or hardware.

Mendix

Most recently, Mendix announced enhancements to the Mendix platform for multi-channel app development and mobile application development.

Rocket League

Games that feature cross-platform online play include Rocket League, Final Fantasy XIV, Street Fighter V, Killer Instinct, Paragon and Fable Fortune, and Minecraft with its Better Together update on Windows 10, VR editions, Pocket Edition and Xbox One.
The game includes single-player and multiplayer modes which can be played both locally and online, including cross-platform play between all versions.

Video game

video gamesgamegaming
Cross-platform or multi-platform is a term that can also apply to video games released on a range of video game consoles, specialized computers dedicated to the task of playing games.
The web browser has also established itself as platform in its own right in the 2000s, while providing a cross-platform environment for video games designed to be played on a wide spectrum of platforms.

JUCE

Projucer
JUCE is a partially open-source cross-platform C++ application framework, used for the development of desktop and mobile applications.

FLTK

Fast Light Toolkit
Fast Light Toolkit (FLTK, pronounced fulltick) is a cross-platform widget (graphical control element) library for graphical user interfaces (GUIs), developed by Bill Spitzak and others.

Abstraction layer

layerslayerabstraction level
Another approach that is used is to depend on pre-existing software that hides the differences between the platforms—called abstraction of the platform—such that the program itself is unaware of the platform it is running on.
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem, allowing the separation of concerns to facilitate interoperability and platform independence.

GeneXus

GeneXus is a Cross-Platform, knowledge representation-based development tool, mainly oriented to enterprise-class applications for Web applications, smart devices and the Microsoft Windows platform.

Cocos2d

Cocos2d-xCocos2d, Cocos2d-x, Cocos2d-html5
It can be used to build games, apps and other cross platform GUI based interactive programs.

Computing platform

platformplatformssoftware platform
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.

EC (programming language)

eC
eC was initially developed as part of the Ecere cross-platform software development kit (SDK) project.

Haxe

Haxe is a high-level cross-platform multi-paradigm programming language and compiler that can produce applications and source code, for many different computing platforms, from one code-base.

FpGUI

fpGUI Toolkit
fpGUI, the Free Pascal GUI toolkit, is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys.

Mozilla application framework

MozillaNeckoplatform independent abstraction
The Mozilla application framework is a collection of cross-platform software components that make up the Mozilla applications.

OpenGL

OpenGL 4.5OpenGL 1.3OpenGL 3.3
Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics.

Qt (software)

QtQt frameworkQt toolkit
Cross-platform frameworks (such as Qt, Flutter, NativeScript, Xamarin, Phonegap, Ionic, and React Native) exist to aid cross-platform development.
Qt (pronounced "cute" ) is a free and open-source widget toolkit for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.