Многоплатформенность - Способность программного обеспечения работать более чем на одной платформе или операционной системе.
Языки программирования
Кроссплатформенный можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Pascal - кроссплатформенный языка на уровне компиляции, то есть для этих языков является компиляторы под различные платформы. Java и C # - кроссплатформенный языка на уровне исполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. PHP, ActionScript, Perl, Python, Tcl и Ruby - кроссплатформенный интерпретированы языка, их интерпретаторы существуют для многих платформ.
Приложения
Большое количество приложений также есть кросплатформовимы. Особенно это качество выражается в программ, которые были сначала разработаны для UNIX -подобных операционных систем. Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями POSIX, а также существование компилятора GCC для платформы, на которую осуществляется перенос.
Примеры:
- Affari
- Apache
- BinkD
- CVS
- Emacs
- GIMP
- GoldEd
- Inkscape
- Lotus Notes
- Mozilla Firefox, Mozilla Thunderbird, SeaMonkey
- MySQL
- OpenOffice.org
- Opera
- VIM
Операционные системы
Современные операционные системы также большей частью является многоплатформенный. Например, операционные системы с открытым исходным кодом, например,NetBSD, GNU / Linux, FreeBSD, AROS могут работать на разных платформах, чаще: x86, m68k, PowerPC, Alpha, AMD64, SPARC. Microsoft Windows может работать как на платформе Intel x86, так и на Intel Itanium. Операционная система NetBSD является наиболее способным к переносу, она работает на большинстве существующих платформ.
Эмуляция
Если программа не предназначена для выполнения (запуска) на определенной платформе, но для этой платформы существует эмулятор платформы, базовый для этой программы, то программа может быть выполнена в среде эмулятора.
Обычно выполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы тратится на выполнение функций эмулятора.