692:(RWD) is a Web design approach aimed at crafting the visual layout of sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices, from mobile phones to desktop computer monitors. Little or no platform-specific code is used with this technique.
1278:: a framework that supports the workflow of app development and deployment in an enterprise environment. Natively developed containers present hardware features of the mobile devices or tablets through an API to HTML5 code thus facilitating the development of mobile apps that run on different platforms.
1230:
Some applications mix various methods of cross-platform programming to create the final application. An example is the
Firefox web browser, which uses abstraction to build some of the lower-level components, with separate source subtrees for implementing platform-specific features (like the GUI), and
720:
Web applications are becoming increasingly popular but many computer users still use traditional application software which does not rely on a client/web-server architecture. The distinction between traditional and web applications is not always clear. Features, installation methods and architectures
635:
Graceful degradation attempts to provide the same or similar functionality to all users and platforms, while diminishing that functionality to a least common denominator for more limited client browsers. For example, a user attempting to use a limited-feature browser to access Gmail may notice that
773:
the source code to the new platform. For example, an application such as
Firefox, which already runs on Windows on the x86 family, can be modified and re-built to run on Linux on the x86 (and potentially other architectures) as well. The multiple versions of the code may be stored as separate
1115:
all possess technology that allows Xbox 360 and PlayStation 3 gamers to play with PC gamers, leaving the decision of which platform to use to consumers. The first game to allow this level of interactivity between PC and console games (Dreamcast with specially produced keyboard and mouse) was
2051:
Collabora Office is a popular open-source alternative to the
Microsoft Office suite. It's based on LibreOffice, and it's available on a variety of platforms, including Windows, Linux, iOS, and Android. This year in July, a major update for the office suite brought support for Chrome OS
1057:
Some platforms are harder to write for than others, requiring more time to develop the video game to the same standard. To offset this, a video game may be released on a few platforms first, then later on others. Typically, this happens when a new gaming system is released, because
1698:
Testing cross-platform applications may be considerably more complicated, since different platforms can exhibit slightly different behaviors or subtle bugs. This problem has led some developers to deride cross-platform development as "write once, debug everywhere", a take on
704:. Some web browsers prohibit installation of different versions on the same machine. There are several approaches used to target multiple platforms, but all of them result in software that requires substantial manual effort for testing and maintenance. Techniques such as
733:. Executables only support platform they were built for—which means that a single cross-platform executable could be very bloated with code that never executes on a particular platform. Instead, generally there is a selection of executables, each built for one platform.
1685:: a RAD IDE that uses an object-oriented programming language to compile desktop, web and iOS apps. Xojo supports natively compiling to Windows, macOS, iOS and Linux, and can also create compiled web apps that are able to be run as standalone servers or through CGI.
1725:
have the opposite convention. Though many of these differences are subtle, a cross-platform application which does not conform to these conventions may feel clunky or alien to the user. When working quickly, such opposing conventions may even result in
644:
Some software is maintained in distinct codebases for different (hardware and OS) platforms, with equivalent functionality. This requires more effort to maintain the code, but can be worthwhile where the amount of platform-specific code is high.
1215:
system might have a third. While this is straightforward, compared to developing for only one platform it can cost much more to pay a larger team or release products more slowly. It can also result in more bugs to be tracked and fixed.
1294:
library used to provide a vector graphics-based, device-independent API. It is designed to provide primitives for 2-dimensional drawing across a number of different backends. Cairo is written in C and has bindings for many programming
1552:: The universal development SDK to build multi-platform projects with React Native. Includes latest iOS, tvOS, Android, Android TV, Web, Tizen TV, Tizen Watch, LG webOS, macOS/OSX, Windows, KaiOS, Firefox OS and Firefox TV platforms.
1319:: a GUI and 2D/3D graphics toolkit and IDE, written in eC and with support for additional languages such as C and Python. It supports Linux, FreeBSD, Windows, Android, macOS and the Web through Emscripten or Binaryen (WebAssembly).
711:
Tools such as the Page Object Model allow cross-platform tests to be scripted so that one test case covers multiple versions of an app. If different versions have similar user interfaces, all can be tested with one test case.
1485:
that encapsulates platform-independent code with a platform-specific runtime environment into applications for macOS and
Windows A cross-platform Android runtime. It allows unmodified Android apps to run natively on iOS and
573:, and pass the result to the client web browser. All user interaction with the application consists of simple exchanges of data requests and server responses. This type of application was the norm in the early phases of
1325:: an open-source development environment. Implemented in Java with a configurable architecture which supports many tools for software development. Add-ons are available for several languages, including Java and C++.
489:(I/O) and network access, if the appropriate privileges are granted. The JVM makes the system calls on behalf of the Java application. This lets users to decide the appropriate protection level, depending on an
756:), Linux, and BSD on multiple computer architectures. The four platforms (in this case, Windows, macOS, Linux, and BSD) are separate executable distributions, although they come largely from the same
1475:: A programming environment for the FreePascal Compiler. It supports the creation of self-standing graphical and console applications and runs on Linux, MacOSX, iOS, Android, WinCE, Windows and WEB.
1399:: A BASIC dialect and compiler that generates C++ code. It includes cross compilers for many platforms and supports numerous platform (Windows, Mac, Linux, Android, iOS and some exotic handhelds).
665:
when needed. Another technique is separation of functionality, which disables functionality not supported by browsers or OSs, while still delivering a complete application to the user. (See also:
478:(Java VM, JVM) is a CPU implemented in software, which runs all Java code. This enables the same code to run on all systems that implement a JVM. Java software can be executed by a hardware-based
1737:
Scripting languages and VM bytecode must be translated into native executable code each time they are used, imposing a performance penalty. This penalty can be alleviated using techniques like
1065:
Some games may not be cross-platform because of licensing agreements between developers and video game console manufacturers that limit development to one particular console. As an example,
508:
for embedded devices. 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
1714:
subset of features which are available on all platforms. This may hinder the application's performance or prohibit developers from using the most advanced features of each platform.
1717:
Different platforms often have different user interface conventions, which cross-platform applications do not always accommodate. For example, applications developed for macOS and
657:. With this technique, code that is common to all platforms is not repeated. Blocks of code that are only relevant to certain platforms are made conditional, so that they are only
669:.) This technique is used in web development where interpreted code (as in scripting languages) can query the platform it is running on to execute different blocks conditionally.
1784:
1094:
1463:: Cross-platform SDK libraries to integrate recognition, document, medical, imaging, and multimedia technologies into Windows, iOS, macOS, Android, Linux and web applications.
1824:
905:
Unlike binary executable files, the same script can be used on all computers that have software to interpret the script. This is because the script is generally stored in
76:. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an
677:
Third-party libraries attempt to simplify cross-platform capability by hiding the complexities of client differentiation behind a single, unified API, at the expense of
338:( Alpha, ARC, ARM, C-Sky, Hexagon, IA-64, LoongArch, m68k, Microblaze, MIPS, Nios II, OpenRISC, PA-RISC, PowerPC, RISC-V, s390, SuperH, SPARC, x86, Xtensa)
984:– A dynamic programming language, suitable for a wide range of uses, including web and desktop applications, networking, administration, testing and many more.
585:. Today, they are still relatively common, especially where cross-platform compatibility and simplicity are deemed more critical than advanced functionality.
1272:: A mobile application platform that works in all Indian languages, including their keyboards, and also supports AppWallet and native performance in all OSs.
1423:: An application framework written in C++, used to write native software on numerous systems (Microsoft Windows, POSIX, macOS), with no change to the code.
721:
for web and traditional applications overlap and blur the distinction. Nevertheless, this simplifying distinction is a common and useful generalization.
887:
system will likely run with little or no modification on
Windows, because Python also runs on Windows; indeed there are many implementations (e.g.
596:. Such applications routinely depend on additional features found only in the more recent versions of popular web browsers. These features include
1077:
game consoles. Should Disney license the game with Sony first, it may be required to release the game solely on Sony's console for a short time
1661:: an Integrated Development Environment for Windows, Linux, .Net and Java, and web browers. Optimized for business and industrial applications.
1347:: An open-source widget toolkit that is completely implemented in Object Pascal. It currently supports Linux, Windows and a bit of Windows CE.
1200:
There are different ways to write a cross-platform application. One approach is to create multiple versions of the same software in different
783:, where applications compiled for one platform can run on another without modification of the source code or binaries. As an example, Apple's
1711:
535:
Software written for one OS may not automatically work on all architectures that OS supports. Just because software is written in a popular
196:, these are all cross-platform. Applications can be written to depend on the features of a particular platform—either the hardware, OS, or
1759:
Cross-platform execution environments may suffer cross-platform security flaws, creating a fertile environment for cross-platform malware.
791:-based Macintosh computers, runs applications compiled for the previous generation of Macs that used PowerPC CPUs. Another example is IBM
2238:
2147:
1983:
566:, but vary widely in complexity and functionality. It can be hard to reconcile the desire for features with the need for compatibility.
1625:: a C++ GUI framework for performance. It includes a set of libraries (GUI, SQL, etc..), and IDE. It supports Windows, macOS and Linux.
767:
The use of different toolsets may not be enough to build a working executables for different platforms. In this case, programmers must
1577:
879:
is available on multiple platforms and the script only uses the facilities built into the language. For example, a script written in
2011:
1649:: V-Play is a cross-platform development SDK based on the popular Qt framework. V-Play apps and games are created within Qt Creator.
1591:
1581:
1149:
1137:
740:
for each platform, using a toolset that translates—transcompiles—a single codebase into multiple binary executables. For example,
2268:
2036:
1897:
627:
Many software systems use a layered architecture where platform-dependent code is restricted to the upper- and lowermost layers.
2092:
1590:: an open-source multimedia library written in C that creates an abstraction over various platforms' graphics, sound, and input
1850:
1499:
1358:
658:
422:
271:
1721:
are supposed to place the most important button on the right-hand side of a window or dialog, whereas
Microsoft Windows and
1521:
1430:
1310:
1209:
965:
961:
880:
779:
107:. Cross-platform software may run on many platforms, or as few as two. Some frameworks for cross-platform development are
2136:
653:
This strategy relies on having one codebase that may be compiled to multiple platform-specific formats. One technique is
2273:
1829:
851:
513:
213:
140:
1482:
1382:
1366:
971:
471:
330:
244:
2159:
2064:
1434:
1177:
819:
547:, it does not mean it will run on all OSs that support that language—or even on different versions of the same OS.
505:
493:(ACL). For example, disk and network access is usually enabled for desktop applications, but not for browser-based
259:
173:
31:
2208:
838:
and many others. Many of these are supported on several hardware platforms with processor architectures including
504:
Currently, Java
Standard Edition software can run on Microsoft Windows, macOS, several Unix-like OSs, and several
2278:
2080:...touch optimized interfaces: one for tablets and one for phone screens. ...(iOS, iPadOS, Chromebooks, Android).
1814:
1809:
1204:—in other words, the Microsoft Windows version of an application might have one set of source code files and the
42:
1353:: A Windows rapid software development solution for cross-platform application creation and deployment based on
760:. In rare cases, executable code built for several platforms is combined into a single executable file called a
624:
Because of the competing interests of compatibility and functionality, numerous design strategies have emerged.
1799:
1738:
1704:
1587:
1354:
1301:: an open-source toolkit and game engine for developing 2D and simple 3D cross-platform games and applications.
1192:
Cross-platform programming is the practice of deliberately writing software to work on more than one platform.
1015:
945:
540:
465:
201:
563:
1313:: an IDE which uses a Pascal-based language for development. It supports Android, iOS, Windows, macOS, Linux.
1794:
1789:
876:
847:
654:
240:
220:
177:
85:
736:
For software that is distributed as a binary executable, such as that written in C or C++, there must be a
1655:: A low-code development tool to create responsive web and hybrid mobile (Android & iOS) applications.
666:
578:
1668:
1616:
949:
689:
613:
525:
498:
1594:. It runs on OSs including Linux, Windows and macOS and is aimed at games and multimedia applications.
1281:
1779:
1269:
1232:
1155:
1059:
896:
536:
475:
169:
92:
77:
1259:
1875:
1769:
1745:
1628:
1571:
1533:
1502:
design pattern where the model and controller are cross-platform but the view is platform-specific.
1402:
1090:
1078:
1009:
899:
705:
701:
490:
35:
528:
or OS. Developing such software can be a time-consuming task because different OSs have different
2017:
1982:
Choudhary, S.R. (2014). "Cross-platform testing and maintenance of web and mobile applications".
1334:
998:
974:– An object-oriented language which aims to be easy to read. Can also be used on the web through
784:
597:
219:
Smartphones and tablets generally run ARM architecture, these often run
Android or iOS and other
156:
124:
73:
216:. For example: ARM or the x86 architecture. These machines can run different operating systems.
1460:
1316:
1099:
Several developers have implemented ways to play games online while using different platforms.
2007:
1774:
1749:
1450:
1275:
1266:
as its GUI layer. It currently supports
Android, iOS, Windows, macOS, Linux and Raspberry Pi.
1220:
1112:
1047:
924:
347:
232:
193:
104:
69:
1997:
1989:
1804:
1700:
1658:
1426:
1287:
1143:
835:
753:
570:
357:
236:
165:
112:
1469:: a commercial cross-platform rapid application development language inspired by HyperTalk.
1247:-style browser plugins. Much of the browser itself is written in XUL, CSS, and JavaScript.
1219:
Another approach is to use software that hides the differences between the platforms. This
2185:"Cross-Platform SDK Libraries for Recognition, Document, Medical, Imaging, and Multimedia"
1753:
1537:
1505:
1205:
730:
582:
555:
296:
248:
197:
1957:
1600:: a native app development tool to create mobile applications for Android and iOS, using
1307:: an open-source Write Once Run Anywhere (WORA) framework for Java and Kotlin developers.
558:
are typically described as cross-platform because, ideally, they are accessible from any
2108:
the first viable self-hosted web office solution for the popular Raspberry Pi 4 platform
931:
commonly run on Linux and other modern Unix-like systems, as well as on Windows via the
2120:
1559:
1509:
1478:
1331:: an open-source toolkit, but more lightweight because it restricts itself to the GUI.
1051:
892:
737:
678:
574:
479:
363:
292:
framework (simply called ".NET") that works across Microsoft Windows, macOS, and Linux.
282:
136:
1411:+: An open-source widget toolkit for Unix-like systems with X11 and Microsoft Windows.
172:
runs, the type of OS, or a combination of the two. An example of a common platform is
2262:
1646:
1640:
1611:
1555:
1472:
1390:
1291:
1161:
1131:
1039:
975:
353:
252:
116:
1546:: a proprietary language and IDE for building macOS, Windows and Linux applications.
1536:: A proprietary 2D game development software for Windows for developing Windows and
501:(JNI) can also be used to access OS-specific functions, with a loss of portability.
2021:
1854:
1634:
1622:
1570:, Microsoft Windows, macOS, and other systems—available under both proprietary and
1454:
1386:
1304:
1003:
605:
486:
144:
128:
108:
88:
or run-time packages are common or standard components of all supported platforms.
1985:
Companion Proceedings of the 36th International Conference on Software Engineering
1255:
There are many tools available to help the process of cross-platform programming:
729:
Traditional application software has been distributed as binary files, especially
41:"Multi-platform" redirects here. For the mode of storytelling in television, see
17:
2239:"Microsoft bids farewell to Windows 7 and the millions of PCs that still run it"
1370:
1322:
1126:
803:
757:
593:
559:
524:
For software to be considered cross-platform, it must function on more than one
453:
380:
2184:
1935:
795:, which allows Linux/x86 applications to run unmodified on the Linux/Power OS.
2037:"Collabora Office suite gets a new layout for Android tablets and Chromebooks"
1731:
1374:
1173:
1104:
1021:
994:
928:
906:
888:
761:
749:
601:
436:
384:
1524:: an open-source platform for building macOS, Windows and Linux applications.
588:
Prominent examples of advanced web applications include the Web interface to
1993:
1727:
1672:
1664:
1652:
1597:
1563:
1543:
1495:
1168:
1108:
1027:
910:
884:
509:
474:
is typically compiled to run on a VM that is part of the Java platform. The
413:
403:
312:
275:
49:
1518:: an open-source SDK for mobile platform app development in the C++ family.
636:
Gmail switches to basic mode, with reduced functionality but still of use.
2163:
485:
Java code running in the JVM has access to OS-related services, like disk
30:"Cross-platform" redirects here. For the railway station interchange, see
1466:
1244:
1181:
1070:
1043:
1034:
Each has been released across a variety of gaming platforms, such as the
831:
662:
265:
81:
2093:"Nextcloud Ubuntu Appliance adds Collabora Online to Raspberry Pi image"
544:
1819:
1619:: open source cross-platform framework for Android and iOS development.
1601:
1584:
that provides low and high level access to graphics, input, audio, etc.
1396:
1378:
1350:
1298:
1118:
1100:
914:
859:
815:
807:
769:
745:
741:
444:
304:
164:
can refer to the type of processor (CPU) or other hardware on which an
132:
2002:
1744:
Different platforms require the use of native package formats such as
1914:
1527:
1515:
1489:
1338:
1066:
932:
855:
843:
827:
811:
494:
440:
432:
324:
300:
913:. There may be some trivial issues, such as the representation of a
243:, though more commonly it is a combination of both. An exception is
204:
is a common VM platform which runs on many OSs and hardware types.
1694:
There are many challenges when developing cross-platform software.
1223:
insulates the application from the platform. Such applications are
744:, an open-source web browser, is available on Windows, macOS (both
562:: the browser is the platform. Web applications generally employ a
1718:
1446:
1442:
1362:
1344:
993:
Cross-platform or multi-platform is a term that can also apply to
935:
863:
839:
788:
589:
369:
341:
335:
189:
181:
100:
96:
1337:: A cross-platform UI framework for Android and iOS developed by
1243:
and JavaScript for extending the browser, in addition to classic
1682:
1420:
1414:
1328:
1263:
1212:
1074:
1069:
could create a game with the intention of release on the latest
941:
792:
449:
417:
407:
390:
374:
289:
185:
1909:
1907:
1637:: Windows, macOS, iOS, Android, WebAssembly and Linux using C#.
1231:
the implementation of more than one scripting language to ease
1722:
1676:
1607:
1567:
1438:
1408:
1240:
1236:
1035:
981:
955:
823:
609:
529:
428:
318:
120:
569:
Basic web applications perform all or most processing from a
27:
Computer software implemented on multiple computing platforms
1062:
need to acquaint themselves with its hardware and software.
806:
office suite is built for Microsoft Windows, macOS, Linux,
577:
application development. Such applications follow a simple
1492:: a cloud-based low-code application development platform.
2225:
1512:(a framework for applications and programming languages)
1429:: an open-source cross-platform UI framework written in
2209:"12 benefits of Xamarin Cross-platform app development"
1549:
1227:. Applications that run on the JVM are built this way.
875:
A script can be considered to be cross-platform if its
2065:"Collabora Office on iOS and Android Just got Better!"
1898:"Xamarin vs Ionic: A Mobile, Cross Platform, Shootout"
1741:; but some computational overhead may be unavoidable.
1631:: Another cross-platform SDK which uses Unity Engine.
920:
Some popular cross-platform scripting languages are:
708:
are sometimes used as a workaround for this problem.
1785:
List of video games that support cross-platform play
1095:
List of video games that support cross-platform play
968:
and ease of writing, instead of run-time efficiency.
2137:
A Closer Look At The Dreamcast Internet Starter Kit
1876:"SDD Technology blog: Definition of cross platform"
1825:Comparison of user features of messaging platforms
1667:: an open-source widget toolkit that is also an
1643:: A cross-platform SDK which uses Unreal Engine.
1369:including Android and BlackBerry smart devices,
1734:confirming whether to save or discard changes.
1710:Developers are often restricted to using the
516:, designed for resource-constrained devices.
383:– mostly compatible with each other, running
8:
1001:. Examples of cross-platform games include:
425:(many platforms; see NetBSDnet, for example)
1508:: An open-source cross-platform version of
798:Example of cross-platform binary software:
700:Cross-platform applications need much more
482:. This is used mostly in embedded systems.
1604:design editor with JavaScript code editor.
2001:
1262:: a development language which utilizes
774:codebases, or merged into one codebase.
315:(ARM64, RISC-V, x86, x64, and LoongArch)
1842:
410:(x86, PowerPC, m68k), MorphOS (PowerPC)
285:that works only on Microsoft Windows.
7:
1752:. Multi-platform installers such as
581:model, identical to that of serving
212:A hardware platform can refer to an
72:that is designed to work in several
1832:, many of which are cross-platform.
1172:with its Better Together update on
958:– Mostly used for web applications.
944:– First released in 1987. Used for
356:(x86), PlayStation 3 (PowerPC) and
1578:Simple and Fast Multimedia Library
1125:Games that feature cross-platform
530:application programming interfaces
200:(VM) it runs on. For example, the
180:. Other well-known platforms are
25:
1956:Corti, Sascha P. (October 2011).
1405:: an SDK which uses Godot Engine.
895:). The same goes for many of the
871:Scripts and interpreted languages
1284:: a UI framework written in C++.
2148:The GUI Toolkit, Framework Page
2035:Mehrotra, Pranob (2020-12-01).
1958:"Browser and Feature Detection"
1917:. The Linux Information Project
1896:Lee P Richardson (2016-02-16).
1558:: an application framework and
255:. Some software platforms are:
247:, which uses an OS-independent
34:. For the video game term, see
1853:. java.sun.com. Archived from
1679:, Microsoft Windows and macOS.
964:– A language which focuses on
295:Other implementations such as
272:Common Language Infrastructure
91:For example, a cross-platform
1:
1851:"Design Guidelines: Glossary"
1830:Mobile development frameworks
1522:Mozilla application framework
966:rapid application development
780:cross-platform virtualization
777:An alternative to porting is
268:(ARM32, ARM64, IA-32, x86-64)
66:platform-independent software
514:Java Platform, Micro Edition
214:instruction set architecture
1483:visual programming language
506:real-time operating systems
377:(many platforms since 1969)
350:(IA-32, x86-64, ARM, ARM64)
2295:
2237:Warren, Tom (2020-01-14).
2160:"Platform Independent FAQ"
1417:: An open-source language.
1088:
612:, and other components of
463:
431:-type systems on the x86:
154:
62:platform-agnostic software
40:
32:cross-platform interchange
29:
1815:Binary-code compatibility
1810:Source-to-source compiler
1712:lowest common denominator
1251:Toolkits and environments
1208:version another, while a
43:multi-platform television
1800:Java (software platform)
1739:just-in-time compilation
1705:write once, run anywhere
1588:Simple DirectMedia Layer
1530:: a 3D graphics library.
1355:knowledge representation
716:Traditional applications
466:Java (software platform)
344:x86, ARM (Apple silicon)
221:mobile operating systems
80:or compiled to portable
2269:Cross-platform software
1994:10.1145/2591062.2591097
1795:Hardware virtualization
1790:List of widget toolkits
997:released on a range of
850:(ARMel, ARMhf, ARM64),
655:conditional compilation
241:programming environment
178:ARM architecture family
58:multi-platform software
54:cross-platform software
787:, which is built into
667:Separation of concerns
2226:WxWidgets Description
1915:"Platform Definition"
1669:application framework
1500:model–view–controller
1235:. Firefox implements
1060:video game developers
950:system administration
748:and x86 through what
690:Responsive web design
685:Responsive web design
673:Third-party libraries
614:rich web applications
526:computer architecture
499:Java Native Interface
2127:, February 15, 2013.
1988:. pp. 642–645.
1780:Software portability
1572:open-source licenses
1233:software portability
938:compatibility layer.
631:Graceful degradation
537:programming language
476:Java virtual machine
78:interpreted language
2274:Computing platforms
1770:Cross-platform play
1707:" marketing slogan.
1580:: A multimedia C++
1534:Pixel Game Maker MV
1091:Cross-platform play
1085:Cross-platform play
1010:Tomb Raider: Legend
999:video game consoles
948:programming, small
900:scripting languages
706:full virtualization
702:integration testing
564:client–server model
491:access-control list
74:computing platforms
36:cross-platform play
1938:. mono-project.com
1756:address this need.
1048:personal computers
915:new line character
640:Multiple codebases
278:, implemented in:
176:which runs on the
157:Computing platform
2189:www.leadtools.com
1775:Hardware-agnostic
1498:: an open-source
1225:platform agnostic
1221:abstraction layer
1138:Final Fantasy XIV
397:Minor, historical
348:Microsoft Windows
235:can be either an
233:software platform
105:Microsoft Windows
70:computer software
18:Platform-agnostic
16:(Redirected from
2286:
2279:Interoperability
2253:
2252:
2250:
2249:
2234:
2228:
2223:
2217:
2216:
2205:
2199:
2198:
2196:
2195:
2181:
2175:
2174:
2172:
2171:
2162:. Archived from
2156:
2150:
2145:
2139:
2134:
2128:
2117:
2111:
2110:
2105:
2104:
2089:
2083:
2082:
2077:
2076:
2061:
2055:
2054:
2048:
2047:
2032:
2026:
2025:
2005:
1979:
1973:
1972:
1970:
1968:
1953:
1947:
1946:
1944:
1943:
1932:
1926:
1925:
1923:
1922:
1911:
1902:
1901:
1893:
1887:
1886:
1884:
1883:
1878:. SDD Technology
1872:
1866:
1865:
1863:
1862:
1847:
1805:Language binding
1701:Sun Microsystems
1377:mobile devices,
1144:Street Fighter V
952:tasks, and more.
836:Collabora Online
754:Universal binary
731:executable files
583:static web pages
571:stateless server
556:Web applications
551:Web applications
402:AmigaOS (m68k),
358:PlayStation Vita
251:(VM) to execute
237:operating system
166:operating system
21:
2294:
2293:
2289:
2288:
2287:
2285:
2284:
2283:
2259:
2258:
2257:
2256:
2247:
2245:
2236:
2235:
2231:
2224:
2220:
2207:
2206:
2202:
2193:
2191:
2183:
2182:
2178:
2169:
2167:
2158:
2157:
2153:
2146:
2142:
2135:
2131:
2121:Quake III Arena
2118:
2114:
2102:
2100:
2091:
2090:
2086:
2074:
2072:
2063:
2062:
2058:
2045:
2043:
2034:
2033:
2029:
2014:
1981:
1980:
1976:
1966:
1964:
1955:
1954:
1950:
1941:
1939:
1934:
1933:
1929:
1920:
1918:
1913:
1912:
1905:
1895:
1894:
1890:
1881:
1879:
1874:
1873:
1869:
1860:
1858:
1849:
1848:
1844:
1839:
1766:
1754:InstallAnywhere
1730:, such as in a
1692:
1617:Titanium Mobile
1538:Nintendo Switch
1357:and supporting
1270:Anant Computing
1253:
1198:
1190:
1176:, VR editions,
1150:Killer Instinct
1097:
1089:Main articles:
1087:
1079:or indefinitely
991:
873:
727:
725:Binary software
718:
698:
687:
675:
651:
649:Single codebase
642:
633:
622:
553:
522:
520:Implementation
468:
462:
249:virtual machine
229:
210:
198:virtual machine
159:
153:
46:
39:
28:
23:
22:
15:
12:
11:
5:
2292:
2290:
2282:
2281:
2276:
2271:
2261:
2260:
2255:
2254:
2229:
2218:
2215:. 15 Mar 2019.
2200:
2176:
2151:
2140:
2129:
2125:Giant Bombcast
2112:
2084:
2056:
2041:XDA-Developers
2027:
2012:
1974:
1948:
1927:
1903:
1888:
1867:
1841:
1840:
1838:
1835:
1834:
1833:
1827:
1822:
1817:
1812:
1807:
1802:
1797:
1792:
1787:
1782:
1777:
1772:
1765:
1762:
1761:
1760:
1757:
1742:
1735:
1715:
1708:
1691:
1688:
1687:
1686:
1680:
1662:
1656:
1650:
1644:
1638:
1632:
1626:
1620:
1614:
1605:
1595:
1585:
1575:
1560:widget toolkit
1553:
1547:
1541:
1531:
1525:
1519:
1513:
1510:Microsoft .NET
1503:
1493:
1487:
1476:
1470:
1464:
1458:
1433:. It supports
1424:
1418:
1412:
1406:
1400:
1394:
1348:
1342:
1332:
1326:
1320:
1314:
1308:
1302:
1296:
1285:
1279:
1273:
1267:
1252:
1249:
1197:
1194:
1189:
1186:
1178:Pocket Edition
1086:
1083:
1052:mobile devices
990:
987:
986:
985:
979:
969:
959:
953:
939:
893:.NET Framework
872:
869:
868:
867:
738:software build
726:
723:
717:
714:
697:
694:
686:
683:
679:vendor lock-in
674:
671:
650:
647:
641:
638:
632:
629:
621:
618:
575:World Wide Web
552:
549:
521:
518:
480:Java processor
464:Main article:
461:
458:
457:
456:
447:
426:
420:
411:
399:
398:
394:
393:
388:
378:
372:
367:
361:
351:
345:
339:
333:
328:
322:
316:
310:
309:
308:
293:
286:
283:.NET Framework
269:
263:
228:
225:
209:
206:
155:Main article:
152:
149:
137:Apache Cordova
84:for which the
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
2291:
2280:
2277:
2275:
2272:
2270:
2267:
2266:
2264:
2244:
2240:
2233:
2230:
2227:
2222:
2219:
2214:
2210:
2204:
2201:
2190:
2186:
2180:
2177:
2166:on 2008-08-16
2165:
2161:
2155:
2152:
2149:
2144:
2141:
2138:
2133:
2130:
2126:
2122:
2116:
2113:
2109:
2098:
2094:
2088:
2085:
2081:
2070:
2066:
2060:
2057:
2053:
2042:
2038:
2031:
2028:
2023:
2019:
2015:
2013:9781450327688
2009:
2004:
1999:
1995:
1991:
1987:
1986:
1978:
1975:
1963:
1962:MSDN Magazine
1959:
1952:
1949:
1937:
1931:
1928:
1916:
1910:
1908:
1904:
1899:
1892:
1889:
1877:
1871:
1868:
1857:on 2012-02-13
1856:
1852:
1846:
1843:
1836:
1831:
1828:
1826:
1823:
1821:
1818:
1816:
1813:
1811:
1808:
1806:
1803:
1801:
1798:
1796:
1793:
1791:
1788:
1786:
1783:
1781:
1778:
1776:
1773:
1771:
1768:
1767:
1763:
1758:
1755:
1751:
1747:
1743:
1740:
1736:
1733:
1729:
1724:
1720:
1716:
1713:
1709:
1706:
1702:
1697:
1696:
1695:
1689:
1684:
1681:
1678:
1675:systems with
1674:
1671:. It runs on
1670:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1647:V-Play Engine
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1613:
1609:
1606:
1603:
1599:
1596:
1593:
1589:
1586:
1583:
1579:
1576:
1573:
1569:
1566:systems with
1565:
1561:
1557:
1554:
1551:
1548:
1545:
1542:
1539:
1535:
1532:
1529:
1526:
1523:
1520:
1517:
1514:
1511:
1507:
1504:
1501:
1497:
1494:
1491:
1488:
1484:
1480:
1477:
1474:
1471:
1468:
1465:
1462:
1459:
1456:
1452:
1448:
1444:
1440:
1436:
1432:
1428:
1425:
1422:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1391:Visual FoxPro
1388:
1384:
1380:
1376:
1372:
1368:
1364:
1360:
1356:
1352:
1349:
1346:
1343:
1340:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1293:
1292:free software
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1261:
1258:
1257:
1256:
1250:
1248:
1246:
1242:
1238:
1234:
1228:
1226:
1222:
1217:
1214:
1211:
1207:
1203:
1195:
1193:
1187:
1185:
1183:
1179:
1175:
1171:
1170:
1165:
1163:
1162:Fable Fortune
1158:
1157:
1152:
1151:
1146:
1145:
1140:
1139:
1134:
1133:
1132:Rocket League
1128:
1123:
1121:
1120:
1114:
1110:
1106:
1102:
1096:
1092:
1084:
1082:
1080:
1076:
1072:
1068:
1063:
1061:
1055:
1053:
1049:
1045:
1041:
1040:PlayStation 3
1037:
1032:
1030:
1029:
1024:
1023:
1018:
1017:
1012:
1011:
1006:
1005:
1000:
996:
988:
983:
980:
977:
976:Ruby on Rails
973:
970:
967:
963:
960:
957:
954:
951:
947:
943:
940:
937:
934:
930:
926:
923:
922:
921:
918:
916:
912:
908:
903:
901:
898:
894:
890:
886:
882:
878:
870:
865:
861:
857:
853:
849:
845:
841:
837:
833:
829:
825:
821:
817:
813:
809:
805:
801:
800:
799:
796:
794:
790:
786:
782:
781:
775:
772:
771:
765:
763:
759:
755:
751:
747:
743:
739:
734:
732:
724:
722:
715:
713:
709:
707:
703:
695:
693:
691:
684:
682:
680:
672:
670:
668:
664:
660:
656:
648:
646:
639:
637:
630:
628:
625:
619:
617:
615:
611:
607:
603:
599:
595:
591:
586:
584:
580:
576:
572:
567:
565:
561:
557:
550:
548:
546:
542:
538:
533:
531:
527:
519:
517:
515:
511:
507:
502:
500:
496:
492:
488:
483:
481:
477:
473:
472:Java language
467:
459:
455:
451:
448:
446:
442:
438:
434:
430:
427:
424:
421:
419:
415:
412:
409:
405:
401:
400:
396:
395:
392:
389:
386:
382:
379:
376:
373:
371:
368:
365:
362:
359:
355:
354:PlayStation 4
352:
349:
346:
343:
340:
337:
334:
332:
329:
326:
323:
320:
317:
314:
311:
306:
302:
299:(formerly by
298:
294:
291:
287:
284:
280:
279:
277:
273:
270:
267:
264:
261:
258:
257:
256:
254:
253:Java bytecode
250:
246:
242:
238:
234:
226:
224:
222:
217:
215:
207:
205:
203:
202:Java platform
199:
195:
191:
187:
183:
179:
175:
171:
167:
163:
158:
150:
148:
146:
142:
138:
134:
130:
126:
122:
118:
114:
110:
106:
102:
98:
94:
89:
87:
83:
79:
75:
71:
67:
63:
59:
56:(also called
55:
51:
44:
37:
33:
19:
2246:. Retrieved
2242:
2232:
2221:
2212:
2203:
2192:. Retrieved
2188:
2179:
2168:. Retrieved
2164:the original
2154:
2143:
2132:
2124:
2115:
2107:
2101:. Retrieved
2099:. 2021-03-26
2096:
2087:
2079:
2073:. Retrieved
2071:. 2020-12-15
2068:
2059:
2050:
2044:. Retrieved
2040:
2030:
1984:
1977:
1965:. Retrieved
1961:
1951:
1940:. Retrieved
1936:"About Mono"
1930:
1919:. Retrieved
1891:
1880:. Retrieved
1870:
1859:. Retrieved
1855:the original
1845:
1693:
1635:Uno Platform
1455:Raspberry Pi
1387:Visual Basic
1305:Codename One
1254:
1229:
1224:
1218:
1202:source trees
1201:
1199:
1191:
1188:Programming
1167:
1160:
1154:
1148:
1142:
1136:
1130:
1124:
1117:
1098:
1064:
1056:
1033:
1026:
1020:
1014:
1008:
1004:Miner 2049er
1002:
992:
919:
904:
874:
834:, web-based
797:
793:PowerVM Lx86
778:
776:
768:
766:
735:
728:
719:
710:
699:
688:
676:
652:
643:
634:
626:
623:
606:Dynamic HTML
587:
568:
554:
534:
523:
503:
487:input/output
484:
469:
381:Web browsers
366:(SPARC, x86)
230:
218:
211:
161:
160:
145:React Native
129:NativeScript
109:Codename One
90:
86:interpreters
65:
61:
57:
53:
47:
1690:Challenges
1371:Objective-C
1196:Approaches
1127:online play
1016:FIFA series
995:video games
989:Video games
897:open-source
877:interpreter
866:, and S390x
804:LibreOffice
758:source code
659:interpreted
594:Google Maps
579:transaction
560:web browser
454:eComStation
406:(PowerPC),
321:((ARMv8-A))
281:The legacy
170:application
111:, ArkUI-X,
95:may run on
93:application
2263:Categories
2248:2020-02-06
2194:2021-03-03
2170:2009-04-25
2103:2021-03-30
2075:2021-01-15
2046:2021-01-15
2003:1853/53588
1967:28 January
1942:2015-12-17
1921:2014-03-27
1882:2020-10-18
1861:2011-10-19
1837:References
1732:dialog box
1295:languages.
1174:Windows 10
1105:Epic Games
1022:NHL series
929:Unix shell
907:plain text
889:IronPython
762:fat binary
750:Apple Inc.
602:JavaScript
385:JavaScript
288:The newer
2243:The Verge
2213:HeadWorks
1728:data loss
1673:Unix-like
1665:wxWidgets
1653:WaveMaker
1598:Smartface
1564:Unix-like
1544:PureBasic
1496:MonoCross
1461:LEADTOOLS
1317:Ecere SDK
1206:Macintosh
1169:Minecraft
1109:Microsoft
1028:Minecraft
911:text file
885:Unix-like
510:Java Card
414:Atari TOS
404:AmigaOS 4
327:(ARMv8-A)
313:HarmonyOS
276:Microsoft
274:(CLI) by
227:Software
208:Hardware
151:Platforms
50:computing
2119:Cribba.
2097:MuyLinux
2052:devices.
1764:See also
1550:ReNative
1467:LiveCode
1276:AppearIQ
1245:Netscape
1182:Xbox One
1129:include
1071:Nintendo
1044:Xbox 360
832:ChromeOS
752:calls a
696:Testing
663:compiled
539:such as
387:web-apps
266:ChromeOS
239:(OS) or
168:(OS) or
162:Platform
82:bytecode
2069:Adfinis
2022:1903037
1820:Xamarin
1602:WYSIWYG
1479:Max/MSP
1473:Lazarus
1451:Windows
1435:Android
1397:GLBasic
1351:GeneXus
1335:Flutter
1323:Eclipse
1299:Cocos2d
1156:Paragon
1119:Quake 3
1101:Psyonix
864:ppc64le
860:PowerPC
820:Android
816:OpenBSD
808:FreeBSD
785:Rosetta
746:PowerPC
742:Firefox
620:Design
532:(API).
495:applets
445:FreeDOS
364:Solaris
305:Xamarin
262:(ARM64)
260:Android
194:Windows
174:Android
133:Xamarin
125:Flutter
2020:
2010:
1659:WinDev
1641:Unreal
1540:games.
1528:OpenGL
1516:MoSync
1490:Mendix
1431:Python
1389:, and
1339:Google
1311:Delphi
1111:, and
1067:Disney
1050:, and
962:Python
933:Cygwin
883:for a
881:Python
856:MIPSel
844:x86-64
828:iPadOS
812:NetBSD
497:. The
441:DR-DOS
437:PC DOS
433:MS-DOS
325:iPadOS
301:Novell
143:, and
2018:S2CID
1719:GNOME
1629:Unity
1486:macOS
1443:Linux
1403:Godot
1375:Apple
1363:COBOL
1345:fpGUI
1288:Cairo
1282:Boden
1113:Valve
936:POSIX
909:in a
840:IA-32
789:Intel
592:and
590:Gmail
460:Java
370:SPARC
360:(ARM)
342:macOS
336:Linux
190:macOS
182:Linux
141:Ionic
101:macOS
97:Linux
68:) is
64:, or
2008:ISBN
1969:2014
1748:and
1683:Xojo
1592:APIs
1562:for
1506:Mono
1481:: A
1453:and
1447:OS X
1427:Kivy
1421:Juce
1415:Haxe
1383:Ruby
1373:for
1367:Java
1329:FLTK
1290:: a
1264:Juce
1213:*nix
1210:FOSS
1180:and
1166:and
1159:and
1093:and
1075:Sony
1073:and
1025:and
972:Ruby
942:Perl
927:– A
925:bash
891:for
852:MIPS
802:The
770:port
598:Ajax
470:The
450:OS/2
418:MiNT
408:AROS
391:Xbox
375:Unix
331:Java
303:and
297:Mono
290:.NET
245:Java
192:and
186:Unix
113:Kivy
103:and
1998:hdl
1990:doi
1750:MSI
1746:RPM
1723:KDE
1703:' "
1677:X11
1623:U++
1608:Tcl
1582:API
1568:X11
1439:iOS
1409:GTK
1379:RPG
1260:8th
1241:CSS
1237:XUL
1036:Wii
982:Tcl
956:PHP
946:CGI
848:ARM
824:iOS
661:or
610:SVG
545:C++
543:or
512:or
429:DOS
423:BSD
319:iOS
121:GTK
48:In
2265::
2241:.
2211:.
2187:.
2123:,
2106:.
2095:.
2078:.
2067:.
2049:.
2039:.
2016:.
2006:.
1996:.
1960:.
1906:^
1612:Tk
1556:Qt
1449:,
1445:,
1441:,
1437:,
1385:,
1381:,
1365:,
1361:,
1359:C#
1239:,
1184:.
1153:,
1147:,
1141:,
1135:,
1122:.
1107:,
1103:,
1081:.
1054:.
1046:,
1042:,
1038:,
1031:.
1019:,
1013:,
1007:,
917:.
902:.
862:,
858:,
854:,
846:,
842:,
830:,
826:,
822:,
818:,
814:,
810:,
764:.
681:.
616:.
608:,
604:,
600:,
452:,
443:,
439:,
435:,
416:,
231:A
223:.
188:,
147:.
139:,
135:,
131:,
127:,
123:,
119:,
117:Qt
115:,
99:,
60:,
52:,
2251:.
2197:.
2173:.
2024:.
2000::
1992::
1971:.
1945:.
1924:.
1900:.
1885:.
1864:.
1610:/
1574:.
1457:.
1393:.
1341:.
1164:,
978:.
541:C
307:)
184:/
45:.
38:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.