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