Платформо-независимая библиотека графического интерфейса - Platform-independent GUI library

А PIGUI (Независимая платформа Графический интерфейс пользователя ) пакет является библиотека программного обеспечения который программист использует для производства GUI код для нескольких компьютеров платформы. В пакете представлены подпрограммы и / или объекты (наряду с подходом к программированию), которые не зависят от графического интерфейса пользователя, на который нацелен программист. Чтобы программное обеспечение соответствовало требованиям PIGUI, оно должно поддерживать несколько графических интерфейсов как минимум в двух разных операционные системы (например, просто поддерживая ОТКРЫТЬ СМОТРЕТЬ и X11 на двух Unix коробки не в счет). Пакет не обязательно предоставляет какие-либо дополнительные функции переносимости. Родные смотреть и чувствовать - желательная функция, но не обязательная для PIGUI.

Соображения

Использование PIGUI имеет ограничения, например, PIGUI имеет дело только с аспектами графического интерфейса программы, поэтому программист, ответственный за другие проблемы переносимости, большинство PIGUI замедляют исполнение получившегося кода, и программисты в значительной степени ограничены набором функций, предоставляемым PIGUI.

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

Альтернативные подходы

Веб-браузеры предлагают удобную альтернативу для многих приложений. Веб-браузеры используют HTML как уровень представления для приложений, размещенных на центральном сервер, а веб-браузеры доступны практически для каждой платформы. Однако некоторые приложения плохо подходят для Интернета. парадигма, требуется локальное приложение с возможностями графического интерфейса. Если такие приложения должны поддерживать несколько платформ, PIGUI может быть более подходящим.

Вместо использования PIGUI разработчики могли раздел свои приложения в объекты с графическим интерфейсом и объекты, не относящиеся к графическому интерфейсу, и реализовать объекты графического интерфейса в собственном API. Затем при переносе необходимо переписать только объекты графического интерфейса для новой платформы. Есть некоторые разработчики программного обеспечения которые рекомендуют этот образ действий, так как он лучше подходит для каждой платформы и устраняет накладные расходы часто ассоциируется с инструментами PIGUI.[нужна цитата ] Очевидно, что это может потребовать дополнительных усилий как при начальной разработке, так и при текущем обслуживании (без единой базы исходного кода). Это также означает обучение программированию для каждой целевой платформы, что (обычно) нетривиальная задача, отсюда и рынок пакетов PIGUI.

Подходы к пользовательскому интерфейсу

В большинстве, если не во всех, пакетов PIGUI используется один из трех подходов к обеспечению независимости от платформы. Два наиболее распространенных подхода - это «многоуровневый» и «эмулируемый» пользовательский интерфейс, но многообещающий подход - это интерфейс «эмуляции API».

Пакеты, использующие многоуровневый интерфейс, обращаются к собственным, сторонним инструментам для создания графического интерфейса пользователя, чтобы обеспечить соответствие внешнего вида для каждого конкретного графического интерфейса. Многоуровневые пользовательские интерфейсы имеют то преимущество, что, поскольку они зависят от других продуктов, которые сосредоточены на одном графическом интерфейсе, они должны предоставлять меньше программного обеспечения (и, следовательно, обычно дешевле), чем эмулируемые интерфейсы. Многоуровневые интерфейсы также с большей вероятностью получат родную смотреть и чувствовать правильно на всех платформах.

В эмулируемом пользовательском интерфейсе результирующий код PIGUI создает низкоуровневые вызовы, и все согласование внешнего вида обрабатывается самим программным обеспечением PIGUI (например, для OpenWindows поддержки, программное обеспечение НЕ будет XView программа, которая должна быть скомпилирована с помощью инструментария XView; программное обеспечение будет создавать код, который напрямую взаимодействует с Икс внутренняя). Чтобы обеспечить эмулируемый пользовательский интерфейс, поставщик пакетов должен разработать много дополнительного кода для поддержки внешнего вида. Эмулированные пользовательские интерфейсы имеют то преимущество, что, например, кто-то на рабочей станции X11 может видеть, как Macintosh -стайл UI будет выглядеть (поскольку внешний вид является частью продукта). Эмулированные интерфейсы могут обеспечить более быстрый графический интерфейс, чем многоуровневый интерфейс; кроме того, для создания программного обеспечения с графическим интерфейсом не требуется приобретать (или учиться использовать) другие пакеты.

Третий подход к независимости от платформы - эмуляция одной из поддерживаемых целей. API (обычно это Microsoft Windows API) для других графических интерфейсов. С одним из этих продуктов можно было бы программировать с использованием эмулированного API, и код был бы (в той степени, в которой продукт обеспечивает переносимость) переносимым для других графических интерфейсов пользователя.

Функции

Пакеты PIGUI очень похожи по своей базовой функциональности; каждый из них обеспечивает подпрограммы или объекты, которые позволяют пользователю строить окна, кнопки (как обычный, так и Радио-кнопки и флажки ), меню, и тому подобное. Некоторые области дифференциации:

  • поддержка необходимых платформ,
  • выбор реализации язык,
  • наличие исходного кода,
  • поддержка принтеров и других устройств,
  • поддержка различных схем кодировки символов, включая Unicode,
  • возможность поддержки функций, подобных пакету рисования,
  • битовая картазначок ) поддерживать,
  • в подход к платформенной независимости,
  • изящный на высоком уровне виджеты, и
  • цена (полная цена, включая роялти и распределительные расходы),

Смотрите также

внешняя ссылка