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

О переносимости кода и кроссплатформенном программном обеспечении
5
дартные элементы интерфейса имеют разные размеры. Именно по-
этому позиционирование элементов интерфейса требует особого
подхода [4]. При этом существует несколько подходов.
1. Единый стиль, общий для всех ОС. Программы выглядят оди-
наково под всеми ОС. Так работают интерфейсные библиотеки Java.
При этом можно жестко расставлять элементы управления, наподо-
бие Delphi; имеет место оригинальный стиль. Но системе приходится
иметь свои экранные шрифты, а стиль отличается от стиля ОС.
2. Самоадаптирующийся интерфейс, подстраивающий сетку под
реальные размеры элементов управления. Так работают интер-
фейсные библиотеки wxWidgets. При этом используется стандартный
очень быстрый стиль ОС под Windows XP, Vista. Но для того, чтобы
собрать самоадаптирующуюся сетку, требуется квалифицированный
программист, а плотная компоновка затруднена.
3. Гибридный подход реализации, наподобие GTK+. При этом
шрифты можно брать из системы, а не свои. Но в этом случае имеют
место все недостатки первых двух подходов. Стиль отличается от
стиля ОС, а плотная компоновка затруднена.
В любом случае под другими ОС требуется хотя бы минимальное
тестирование, так как возможны ошибки компоновки.
Большое количество прикладных программ также являются крос-
сплатформенными, особенно те программы, которые изначально раз-
рабатывались для Unix-подобных операционных систем. Важным
условием их переносимости на другие платформы является исполь-
зование компилятора GCC для платформы, на которую осуществля-
ется перенос. GNU Compiler Collection представляет собой набор
компиляторов для различных языков программирования [2]. При ис-
пользовании GCC для компиляции кода под разные платформы при-
меняется один и тот же синтаксический анализатор.
Современные операционные системы также зачастую являются
кроссплатформенными (в аппаратном смысле этого слова). Напри-
мер, операционные системы с открытым исходным кодом, такие как
NetBSD, GNU/Linux, FreeBSD, могут работать на большом диапазоне
различных платформ. Операционная система NetBSD является самой
переносимой, она может быть установлена на большинство суще-
ствующих платформ. Microsoft Windows может работать как на
платформе Intel x86, так и на Intel Itanium.
Так или иначе, основными препятствиями на пути обеспечения
полной кроссплатформенности остаются средства работы с динами-
ческими библиотеками, связанные с .dll.
Использование графического интерфейса.
Рассмотрим некото-
рые особенности создания графического интерфейса с помощью
кроссплатформенной среды GTK+ [5].
1,2,3,4 6,7,8
Powered by FlippingBook