<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C</id>
	<title>Кроссплатформенность - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C&amp;action=history"/>
	<updated>2026-07-19T22:04:16Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C&amp;diff=23732&amp;oldid=prev</id>
		<title>imported&gt;Alex NB OT: замена имён и значений устаревшего неподдерживаемого InternetArchiveBot формата параметров доступности ссылок (2), замена устаревших имён параметров (3)</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C&amp;diff=23732&amp;oldid=prev"/>
		<updated>2025-07-16T10:12:40Z</updated>

		<summary type="html">&lt;p&gt;замена имён и значений устаревшего неподдерживаемого InternetArchiveBot формата параметров доступности ссылок (2), замена устаревших имён параметров (3)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Не путать|[[Кросс-платформенная пересадка|кросс&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;-&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;платформой]] — видом [[Транспортно-пересадочный узел|пересадки]] на [[Железнодорожный транспорт|железнодорожном транспорте]] и в [[метрополитен]]е}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Кроссплатформенность&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;межплатформенность&amp;#039;&amp;#039;) — способность [[программное обеспечение|программного обеспечения]] работать с несколькими [[Аппаратная платформа компьютера|аппаратными платформами]] или [[Операционная система|операционными системами]]. Обеспечивается благодаря использованию [[Высокоуровневый язык программирования|высокоуровневых языков программирования]], сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах [[Linux]] и [[Windows]] одновременно.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Gui-widgets.png|thumb|[[Swing (библиотека)|Swing]] выглядит одинаково на всех ОС]]&lt;br /&gt;
[[Файл:Firefox-deerpark.png|thumb|[[Mozilla Firefox]], использующий [[XUL]], оформляет окна в стиле ОС (в данном случае — [[Linux]]).]]&lt;br /&gt;
&lt;br /&gt;
== Кроссплатформенные языки программирования ==&lt;br /&gt;
Кроссплатформенными можно назвать большинство современных высокоуровневых [[язык программирования|языков программирования]]. Например, [[Си (язык программирования)|Си]], [[Си плюс плюс|C++]], [[Free Pascal]], [[FreeBASIC]], [[PureBasic]] — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Это позволяет — при надлежащем качестве кода — не переписывать основной движок программы, меняются только особые системозависимые части.&lt;br /&gt;
&lt;br /&gt;
Не менее важны для кроссплатформенности стандартизованные [[библиотека среды выполнения|библиотеки среды выполнения]]. В частности, стандартом стала [[стандартная библиотека языка Си|библиотека языка Си]] ([[POSIX]]). Из крупных кроссплатформенных библиотек — [[Qt]], [[GTK+]], [[FLTK]], [[Стандартная библиотека шаблонов|STL]], [[Boost]], [[OpenGL]], [[Simple DirectMedia Layer|SDL]], [[OpenAL]], [[OpenCL]].&lt;br /&gt;
&lt;br /&gt;
Существуют кросс-компиляторы — компиляторы, генерирующие исполняемый код для платформы, отличной от той, на которой запущен сам компилятор.&lt;br /&gt;
&lt;br /&gt;
== Кроссплатформенные среды исполнения ==&lt;br /&gt;
[[PHP]], [[Perl]], [[Python]], [[Tcl]] и [[Ruby]] — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.&lt;br /&gt;
&lt;br /&gt;
Среды исполнения [[ActionScript Virtual Machine 2|ActionScript Virtual Machine]], [[Java Virtual Machine]] и [[.NET Framework|.NET]] также кроссплатформенны, однако на их вход подаётся не [[исходный текст]], а [[промежуточный код]]. Поэтому программы, написанные на [[ActionScript]], [[Java]] и [[C Sharp|C#]], можно запускать под разными операционными системами без предварительной перекомпиляции.&lt;br /&gt;
&lt;br /&gt;
== Кроссплатформенный пользовательский интерфейс ==&lt;br /&gt;
На разных операционных системах и средах — независимо от того, как технически достигнута работа в них — стандартные элементы интерфейса имеют разные размеры. Поэтому простое жёсткое позиционирование элементов интерфейса невозможно — в другой операционной системе (среде) они могут «налезать» друг на друга, «расплываться», «пьянеть». Существует несколько подходов:&lt;br /&gt;
&lt;br /&gt;
# Единый стиль, общий для всех операционных систем, программы выглядят одинаково под всеми системами. Так работают интерфейсные библиотеки [[Java]] наподобие [[Swing (библиотека)|Swing]].&lt;br /&gt;
#* Плюс: можно жёстко расставлять элементы управления на манер Delphi, оригинальный стиль.&lt;br /&gt;
#* Минус: системе приходится иметь свои экранные шрифты, и стиль отличается от стиля ОС.&lt;br /&gt;
# Самоадаптирующийся (адаптивный) интерфейс, подстраивающий сетку под реальные размеры элементов управления. Типичные примеры — [[Qt]], [[wxWidgets]], [[XUL]].&lt;br /&gt;
#* Плюс: стандартный стиль операционной системы, очень быстрый и «[[скин (оформление интерфейса)|скинующийся]]» под [[Windows XP]], [[Windows Vista|Vista]] и [[Windows 7]], и некоторая автоматизация [[Локализация программного обеспечения|локализации]].&lt;br /&gt;
#* Минус: чтобы собрать самоадаптирующуюся (адаптивную) сетку, требуется квалифицированный программист, а также затруднена плотная компоновка.&lt;br /&gt;
# Гибридный подход реализован в [[GTK+]].&lt;br /&gt;
#* Плюс: [[компьютерный шрифт|шрифты]] можно брать из системы, а не «тащить» свои, а также некоторая автоматизация локализации.&lt;br /&gt;
#* Минус: берёт все недостатки от первых двух подходов. Стиль отличается от стиля операционной системы, затруднена плотная компоновка.&lt;br /&gt;
&lt;br /&gt;
В любом случае, в других операционных системах и средах требуется хотя бы минимальное тестирование, так как возможны ошибки компоновки.&lt;br /&gt;
&lt;br /&gt;
== Условная компиляция ==&lt;br /&gt;
Даже несмотря на широкую, в общем, стандартизацию аппаратного и программного обеспечения, программисту часто приходится налаживать ветви под разные операционные системы и среды, включая ту или другую посредством [[условная компиляция|условной компиляции]].&lt;br /&gt;
&lt;br /&gt;
Например, браузер [[Mozilla Firefox]] имеет разные комплекты [[Значок (GUI)|значков]] под разные операционные системы.&lt;br /&gt;
&lt;br /&gt;
== Прикладные программы ==&lt;br /&gt;
Большое количество прикладных программ также являются кроссплатформенными. Особенно это качество выражено у программ, изначально разработанных для [[Unix-подобная операционная система|Unix-подобных операционных систем]]. Важным условием их переносимости на другие платформы является совместимость платформ с рекомендациями [[POSIX]], а также существование компилятора [[GCC]] для платформы, на которую осуществляется перенос.&lt;br /&gt;
&lt;br /&gt;
== Операционные системы ==&lt;br /&gt;
Современные операционные системы также часто являются кроссплатформенными. Например, операционные системы с открытым исходным кодом (в частности: [[NetBSD]], [[Linux]], [[FreeBSD]], [[AROS]]) могут работать на нескольких различных аппаратных платформах. Наиболее часто это: [[x86]], [[m68k]], [[PowerPC]], [[DEC Alpha|Alpha]], [[AMD64]], [[SPARC]]. («[[Эльбрус (операционная система)|Эльбрус ОС]]» есть не что иное как глубоко доработанный для платформы «[[Эльбрус (компьютер)|Эльбрус]]». Но существует «Эльбрус ОС» также доступна и для платформ «Эльбрус-SPARC», представляющей собой реализацию платформы [[SPARC]] от [[МЦСТ]], и платформы х86.)&lt;br /&gt;
Первый выпуск Microsoft [[Windows NT 4.0|Windows NT 4]], вышедший в 1996 году, поддерживал четыре платформы (x86, Alpha, MIPS и PowerPC), в дальнейших версиях Windows NT осталась только поддержка платформы х86. Современная [[Microsoft Windows]] может работать как на платформе [[Intel]] [[x86]], так и на Intel [[Itanium]]. (Точнее, для Itanium есть только версии Windows 2000/XP, Windows 2003 и Windows 2008, после чего поддержка Itanium была свёрнута.) Операционная система [[NetBSD]] считается самой наиболее многоплатформенной&amp;lt;ref&amp;gt;{{Cite web|lang=en|url=http://netbsd.org/about/portability.html|title=Portability and supported hardware platforms|website=netbsd.org|access-date=2021-10-31|archive-date=2021-12-22|archive-url=https://web.archive.org/web/20211222014507/http://www.netbsd.org/about/portability.html|url-status=live}}&amp;lt;/ref&amp;gt;, — она портирована на большинство ныне существующих платформ.&lt;br /&gt;
&lt;br /&gt;
== Среды разработки ==&lt;br /&gt;
Ряд [[Интегрированная среда разработки|IDE]], в том числе Free Pascal, [[Lazarus]], [[Qt Creator]], работают на разных операционных системах: Linux, Windows и других&amp;lt;ref&amp;gt;{{Cite web |url=http://rusio.net/pascal/free.php |title=IDE Lazarus и Free Pascal |access-date=2013-12-08 |archive-url=https://web.archive.org/web/20131126030314/http://rusio.net/pascal/free.php |archive-date=2013-11-26 |url-status=dead }}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Эмуляция ==&lt;br /&gt;
Если программа не предназначена для исполнения (запуска) на определённой платформе, но для этой платформы существует [[эмулятор]] платформы, базовой для данной программы, то программа может быть исполнена в среде эмулятора.&lt;br /&gt;
&lt;br /&gt;
Обычно исполнение программы в среде эмулятора приводит к снижению производительности по сравнению с аналогичными программами, для которых платформа является базовой, так как значительная часть ресурсов системы расходуется на выполнение функций эмулятора.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{Примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* https://msdn.microsoft.com/ru-ru/library/dn879821.aspx - Создание кроссплатформенных приложений с помощью инструментов Visual Studio для Apache Cordova — MSDN — Microsoft&lt;br /&gt;
* https://apptractor.ru/develop/cross-platform-development - Кроссплатформенная разработка | AppTractor&lt;br /&gt;
&lt;br /&gt;
{{нет источников|дата=2017-10-14}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Кроссплатформенное программное обеспечение| ]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Alex NB OT</name></author>
	</entry>
</feed>