Кроссплатформенное программное обеспечение


В вычислительной технике кроссплатформенное программное обеспечение (также называемое мультиплатформенным программным обеспечением , программным обеспечением , не зависящим от платформы или независимым от платформы программным обеспечением ) — это компьютерное программное обеспечение , предназначенное для работы на нескольких вычислительных платформах. [1] Некоторое кроссплатформенное программное обеспечение требует отдельной сборки для каждой платформы, но некоторые из них можно запускать непосредственно на любой платформе без специальной подготовки, они написаны на интерпретируемом языке или скомпилированы в переносимый байт -код , для которого предназначены интерпретаторы или пакеты времени выполнения . общие или стандартные компоненты всех поддерживаемых платформ. [2]

Например, кроссплатформенное приложение может работать в Microsoft Windows , Linux и macOS . Кроссплатформенное программное обеспечение может работать на многих платформах или всего на двух. Некоторые фреймворки для кроссплатформенной разработки: Codename One , Kivy , Qt , Flutter , NativeScript , Xamarin , Phonegap , Ionic и React Native . [3]

Платформа может относиться к типу процессора (ЦП) или другого оборудования, на котором работает операционная система (ОС) или приложение , типу ОС или их комбинации. [4] Примером распространенной платформы является ОС Microsoft Windows , работающая на архитектуре x86 . Другими известными платформами для настольных ПК являются Linux / Unix и macOS , обе из которых сами по себе являются кроссплатформенными. [4] Однако многие устройства, такие как смартфоны , также являются платформами. Приложения могут быть написаны так, чтобы они зависели от особенностей конкретной платформы — аппаратного обеспечения, ОС иливиртуальная машина (ВМ), на которой он работает. Например, платформа Java — это распространенная платформа виртуальных машин, которая работает на многих операционных системах и типах оборудования. [5]

Аппаратная платформа может относиться к архитектуре набора команд . Например: архитектура x86 и ее варианты, такие как IA-32 и x86-64 . На этих машинах часто работает одна версия Microsoft Windows, [6] хотя они могут работать и с другими ОС, включая Linux, OpenBSD , NetBSD , macOS и FreeBSD .

32-разрядные архитектуры ARM (и более новая 64-разрядная версия) распространены на смартфонах и планшетных компьютерах , работающих под управлением Android, iOS и других мобильных операционных систем .

Программная платформа может быть либо ОС, либо средой программирования , хотя чаще это комбинация того и другого. Исключение составляет Java , которая использует независимую от ОС виртуальную машину для выполнения байт- кода Java . Примеры программных платформ: