Knowledge

Cross-platform software

Source đź“ť

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:)

Index

Platform-agnostic
cross-platform interchange
cross-platform play
multi-platform television
computing
computer software
computing platforms
interpreted language
bytecode
interpreters
application
Linux
macOS
Microsoft Windows
Codename One
Kivy
Qt
GTK
Flutter
NativeScript
Xamarin
Apache Cordova
Ionic
React Native
Computing platform
operating system
application
Android
ARM architecture family
Linux

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑