Наверное, вас интересовало, как создаются программы, которые могут работать на различных операционных системах компьютеров и различных их версиях. Но благодаря чему возможна такая работа? Какой механизм лежит в основе такой универсальности? И чем является в свете таких вопросов кроссплатформенность?
Что такое кроссплатформенное программное обеспечение?
![кроссплатформенное програмное обеспечение](http://fb.ru/misc/i/gallery/37840/1047993.jpg)
Какой язык программирования лучше подобрать?
![о кроссплатформенном программировании](http://fb.ru/misc/i/gallery/37840/1047994.jpg)
Но существуют ещё и кроссплатформенные интерпретируемые языки, конверторы которых исполняют требуемые команды без переписывания кода, и всё зависит исключительно от версии самого интерпретатора. К таким относятся ActionScript, Perl, Ruby, Python, PHP. Дополнительно хочется заметить, что подобными свойствами обладает и JVN, и .NET, поэтому программы, написанные на Java или C# тоже можно запускать на различных операционных системах без проведения предварительной перекомпиляции. Отличие двух последних в том, что здесь используется не исходный текст, а специальный промежуточный код. О кроссплатформенном программировании дополнительно можно сказать, что, выбирая язык для программы, следует учитывать его распространенность и широту использования среди потенциальных клиентов.
Кроссплатформенный пользовательский интерфейс
![что такое кроссплатформенность](http://fb.ru/misc/i/gallery/37840/1047995.jpg)
- Единый стиль, который используется во всех операционных системах. В таком случает можно расставлять, что хочешь и как хочешь, но могут быть проблемы с экранными шрифтами или размерами окна программы.
- Самоадаптирующийся интерфейс, который подстраивается под различные требования. Позволяет создавать программу, которая автоматически настраивается под оптимальные настройки и облегчает своё использование. Но для создания такого программного обеспечения необходим квалифицированный программист, который сможет качественно выполнить поставленную задачу.
- Гибридный интерфейс. Позволяет получать шрифты из систем и совершает определённую автоматизацию. Но стили отличаются, и довольно трудно провести плотную компоновку.
Но вот как проверить работу не только интерфейса, но и функционала? Можно купить аппаратуру с необходимыми установками, но существует и более дешевый способ. Специально для этого существуют эмуляторы, которые позволят оценить работу программы. Кроссплатформенное программное обеспечение без них было бы менее распространено.
Эмуляция
Если есть желание использовать программу, которая не предназначена для текущей платформы, можно воспользоваться эмулятором. К тому же эмуляция позволяет посмотреть, как будет что-то работать, не обладая при этом необходимой аппаратурой. При этом следует учитывать, что использование эмулятора может привести к определённому снижению производительности. Даже если нет симулятора под ту платформу, какую вы используете, можно установить поддерживаемый, а у него уже требуемый симулятор. Как видите, схема довольно сложная, но с ней кроссплатформенное программное обеспечение можно разрабатывать для всех операционных систем.
Соревнования при кроссплатформенном программировании
![тусур разработка кроссплатформенного программного обеспечения](http://fb.ru/misc/i/gallery/37840/1047996.jpg)