Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Cross-platform software
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Approaches <span class="anchor" id="Approaches to cross-platform programming"></span> === There are different ways to write a cross-platform application. One approach is to create multiple versions of the same software in different ''source trees''βin other words, the Microsoft Windows version of an application might have one set of source code files and the [[Apple Macintosh|Macintosh]] version another, while a [[Free and open-source software|FOSS]] [[*nix]] 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. Another approach is to use software that hides the differences between the platforms. This [[abstraction layer]] insulates the application from the platform. Such applications are ''platform agnostic''. Applications that run on the JVM are built this way. 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 the implementation of more than one scripting language to ease [[software portability]]. Firefox implements [[XUL]], [[CSS]] and JavaScript for extending the browser, in addition to classic [[Netscape]]-style browser plugins. Much of the browser itself is written in XUL, CSS, and JavaScript.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)