From Wikipedia, the free encyclopedia
Кросплатформавае (міжплатформавае) праграмнае забеспячэнне — праграмнае забеспячэнне, якое працуе больш чым на адной апаратнай платформе і/ці аперацыйнай сістэме. Тыповым прыкладам з’яўляецца праграмнае забеспячэнне, прызначанае для работы ў аперацыйных сістэмах Linux і Windows.
Кросплатформавымі можна назваць большасць сучасных высокаўзроўневых моў праграмавання. Напрыклад, C, C++, Free Pascal — кросплатформавыя мовы на ўзроўні кампіляцыі, гэта значыць для гэтых моў ёсць кампілятары пад розныя платформы.
Не менш важныя для кросплатформавасці стандартызаваныя бібліятэкі часу выканання (англ.: runtime library). У прыватнасці, стандартам стала бібліятэка мовы С (гл. POSIX). З буйных кросплатформавых бібліятэк — Qt, GTK+, FLTK, стандартная бібліятэка шаблонаў, Boost, OpenGL, SDL, OpenAL, OpenCL.
Яшчэ на пачатку эпохі ПК кампанія IBM зрабіла свой персанальны камп’ютар сумяшчальным з CP/M. Гэта дазволіла запускаць на ім ужо існуючыя праграмы.
PHP, ActionScript, Perl, Python, Tcl і Ruby — кросплатформавыя інтэрпрэтавальныя мовы, іх інтэрпрэтатары існуюць для многіх платформ.
Асяроддзі выканання Java Virtual Machine і .NET таксама кросплатформавыя, аднак на іх уваход падаецца не зыходны код, а прамежкавы код. Таму праграмы, напісаныя на Java і C#, можна запускаць пад разнастайнымі АС без папярэдняй перакампіляцыі.
На розных АС — незалежна ад таго, як тэхнічна дасягнута работа ў іх — стандартныя элементы інтэрфейса маюць розныя памеры. Таму простае жорсткае размяшчэнне элементаў інтэрфейса немагчыма — пад іншай АС яны могуць налазіць адзін на другі. Існуе некалькі падыходаў.
У любым выпадку, пад іншымі АС патрабуецца хаця б мінімальнае тэсціраванне, таму што магчымы памылкі кампаноўкі.
Нават нягледзячы на шырокую стандартызацыю апаратнага і праграмнага забеспячэння, праграмісту часта даводзіцца наладжваць галіны пад розныя АС, уключаючы тую ці іншую з дапамогай умоўнай кампіляцыі.
Браўзер Mozilla Firefox мае розныя наборы іконак пад розныя АС.
Вялікая колькасць прыкладных праграм таксама з’яўляюцца кросплатформавымі. Асабліва гэтая якасць уласціва праграмам, першапачаткова распрацаваным для UNIX-падобных аперацыйных сістэм. Важнай умовай іх пераноснасці на іншыя платформы з’яўляецца сумяшчальнасць платформ з рэкамендацыямі POSIX, а таксама існаванне кампілятара GCC для платформы, на якую ажыццяўляецца перанос.
Сучасныя аперацыйныя сістэмы таксама часта з’яўляюцца кросплатформавымі. Напрыклад, аперацыйныя сістэмы з адкрытым зыходным кодам, напрыклад, NetBSD, Linux, FreeBSD, AROS могуць працаваць на некалькіх розных платформах, часцей за ўсё гэта x86, m68k, PowerPC, Alpha, AMD64, SPARC. Microsoft Windows можа працаваць як на платформе Intel x86, так і на Intel Itanium (дакладней, для Itanium ёсць толькі версіі Windows 2000/XP, Windows 2003 і Windows 2008, пасля чаго падтрымка была згорнута). Аперацыйная сістэма NetBSD з’яўляецца самай пераноснай[1], яна перанесена на большасць існуючых платформ.
Калі праграма не прызначана для выканання (запуску) на азначанай платформе, але для гэтай платформы існуе эмулятар платформы, асноўнай для праграмы, то праграма можа быць выканана ў асяроддзі эмулятара.
Звычайна выкананне праграмы ў асяроддзі эмулятара прыводзіць да зніжэння прадукцыйнасці ў параўнанні з аналагічнымі праграмамі, для якіх платформа з’яўлялася базавай, таму што значная частка рэсурсаў сістэмы спажываецца на выкананне функцый эмулятара.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.