Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

krossplatformennoe_programmirovanie

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

Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования

  • кроссплатформенные языки на уровне компиляции (то есть для этих языков есть компиляторы под различные платформы): C, C++ и Free Pascal
  • кроссплатформенные языки на уровне выполнения (то есть их исполняемые файлы можно запускать на различных платформах без предварительной перекомпиляции): Java и C#.
  • кроссплатформенные интерпретируемые языки (их интерпретаторы существуют для многих платформ): PHP, ActionScript, Perl, Python, Tcl и Ruby.

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

С и С++ - переносимые языки и написанные на них программы могут работать на разных платформах. Несмотря на принципиальную возможность написания переносимых программ, существует много проблем с различными компиляторами С/С++ и различными компьютерными системами, который затрудняют достижение переносимости.

Temp

  • Для начала имеет смысл определиться с несколькими вещами:

1. Какие платформы хочешь поддерживать? 2. Нужна ли кроссплатформенность на бинарном уровне, или достаточна будет переносимость на уровне исходных кодов? 3. Каковы размеры приложений, что собираешься создавать? Java сейчас, наверное, самая кроссплатформенная технология, так что если собираешься поддерживать кучу разных ОСей, стоит обратить внимание в первую очередь на нее. Из минусов отметил бы сложноватую в освоении (после .NET ос-но) и неторопливую в работе библиотеку для GUI. С Mono не сталкивался вплотную, много сказать не могу. Можно лишь отметить, что проект куда моложе Java, а значит наверняка более сырой, что может вызывать сложности. Опять же настораживает стремление подражать .NETу, который на кроссплатформенность не особо расчитан. Если переносимость на уровне исходных кодов устраивает, можно посмотреть в сторону C++ & Qt. Под наиболее известные ОСи (Win, Lin, Mac) реализации Qt имеются. Из минусов: для коммерческого использования Qt весьма платная, а С++ для любого использования весьма непрост :) Наконец, для небольших приложений могут подойти различные интерпретируемые языки, вроде Perl или Python (интерпретаторы можно найти под целую кучу ОС), в сочетании с какими-либо кроссплатформенными GUI-библиотеками (Qt, wxWidgets, GTK).

  • Размышляю на тему кроссплатформенности в написании GUI приложений, чтоб работало и в Win и в Linux. На мой вгляд существует лишь два достойных варианта - C++/Qt и java/AWT/Swing. Но какой путь лучше? java , c одной стороны, хорошо, это путь стандартный, но она , как известно, по производительности проигрывает c++.
  • еще есть wxWidgets для C++ и SWT для Java. wxWidgets рулит, у него и лицензия хорошая в плане написания коммерческого ПО и неплохие API

Ссылки




krossplatformennoe_programmirovanie.txt · Последние изменения: 2010/07/11 13:53 (внешнее изменение)