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

Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++ и Free Pascal — кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. Java и C# — кроссплатформенные языки на уровне выполнения, то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции. PHP, Perl, Python, Tcl, и Руби — кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.



Ассемблер также является кроссплатформенным. Яркие примеры Fasm, GAS, NASM.
Trolltech Qt— кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, Ruby — QtRuby, Java — Qt Jambi и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.

В процессе разработки приложений одной из наиболее важных проблем является проблема выполнения разработанных программных средств на различных платформах. Задача переноса кода с одной платформы на другую является актуальной и по сей день. Программа, написанная на определенном языке программирования требует соответствующего компилятора для преобразования в соответствующие машинные коды для выполнения на определенном процессоре в среде определенной операционной системы (ОС)
 
При этом программа, поддающаяся переносу на другой компьютер, работающий под управлением другой операционной системы и на другом процессоре, считается переносимой, мобильной и машинно-независимой. Одним из путей повышения переносимости кода является разработка кроссплатформенного программного обеспечения.
 
Переносимость приложений зависит от множества различных факторов. В первую очередь, к ним относятся факторы, связанные с аппаратным обеспечением, т.е. можно говорить об имеющейся аппаратной платформозависимости приложений. Поскольку машинные коды программы состоят из набора машинных команд, исполняемых процессором
определенной архитектуры, то исполняемый файл не может быть напрямую запущен на процессоре другой архитектуры, обладающем отличающимся набором машинных команд.
Также переносимость кода напрямую зависит от используемой операционной системы, поскольку обычно исполняемые файлы содержат значительные объемы данных, не являющихся набором машинных команд самой программы. К этим данным относятся описание программного окружения, в котором программа может быть выполнена, отладочные данные, используемые константы, требования к ресурсам и так далее.

Печать   Электронная почта