Обзор графической Java библиотеки SWT

Обзор Java библиотеки standard widget toolkit для GUI
Метки: / /

В этой статье вы прочитаете про графическую библиотеку для языка программирования Java Standard Widget Toolkit.

Также посмотрите статью «Виртуальная машина java, JVM и байт-код», тоже очень полезная статья, особенно для новичков в Java.

Обзор Standard Widget Toolkit:

Standard Widget Toolkit ( SWT ) — это библиотека графических пользовательских элементов для платформы Java. Первоначально разработанная IBM, библиотека теперь управляется Eclipse Foundation вместе с проектом Eclipse IDE. Это альтернатива AWT и Swing — инструменты с графическим интерфейсом от Sun Microsystems как часть платформы Java, Standard Edition.

Библиотека SWT написана на Java. Он использует собственные библиотеки операционной системы через собственный интерфейс Java (JNI ) для визуализации элементов графического интерфейса, аналогично программам, написанным с использованием собственного API операционной системы.

Программы, использующие SWT, переносимы, но реализация «набора инструментов», хотя и написана на Java, уникальна для каждой платформы.

Библиотека находится под лицензией Eclipse Public License.

AWT ( Abstract Window Toolkit ) была первой библиотекой графического интерфейса пользователя Java, представленной в JDK 1.0, как один из компонентов платформы Java Sun Microsystems.

Первоначальный AWT был простой оболочкой Java для виджетов, предоставляемых системой . таких как меню, окна и кнопки.

Swing — это библиотека инструментов графического интерфейса нового поколения, представленная Sun в J2SE 1.2 . Библиотека Swing была разработана для предоставления более богатого набора компонентов, чем AWT.

Элементы графического интерфейса Swing — это 100% Java без какого-либо собственного кода: вместо того, чтобы обертывать собственные компоненты графического интерфейса, Swing сам рисует их при использовании Java2D. вызова низкоуровневого интерфейса рисования операционной системы.

Корни SWT восходят к работе, проделанной Object Technology International, затем OTI, когда в 1990 году она создала кроссплатформенный, переносимый, нативный интерфейс виджетов для Smalltalk (ранее OTI Smalltalk, который в 1993 году стал IBM Smalltalk). Уровень CW ( Common Widget ) IBM Smalltalk обеспечивал быстрый, собственный доступ ко многим наборам элементов управления на различных платформах, но предлагал общий API без так называемой проблемы «наименьшего общего знаменателя», с которой сталкиваются другие портативные наборы инструментов GUI.

В то время IBM разрабатывала среду разработки VisualAge написанную на Smaltalk.. Они решили передать свой код сообществу разработчиков ПО с открытым исходным кодом, что привело к разработке Eclipse, который должен был стать новым конкурентом для других сред разработки, таких как Microsoft Visual Studio . Eclipse развился на основе Java, и разработчики IBM, нуждающиеся в инструментарии, который обладал бы «естественным внешним видом » и «собственной производительностью», создали SWT в качестве замены Swing

SWT — это оболочка вокруг собственных объектов — объектов GTK +, объектов Win32 и т.д. По этой причине виджеты SWT часто называют «тяжеловесными» (тяжелые собственные объекты скрыты под легкой оболочкой). В тех случаях, когда собственные библиотеки графического интерфейса не обеспечивают требуемую функциональность для SWT, SWT сам реализует эту функциональность, подобно тому, как это делает Swing. По сути, SWT — это компромисс между внешним видом и низкой производительностью AWT и высоким уровнем простоты использования Swing.

Согласно Eclipse Foundation, «SWT и Swing — это разные инструменты, созданные для разных целей. Цель SWT — предоставить API для доступа к нативной графике на широком спектре платформ. Основными целями дизайна являются: высокая скорость, естественный вид и глубокая интеграция с платформой. Swing — противоположность. разработан, чтобы обеспечить возможность гибкой настройки внешнего вида, одинакового на всех платформах «.

SWT относительно проще, чем Swing, без «ненужных» (для среднего разработчика) дополнительных функций. Однако это приводит к аргументу, что SWT не обладает некоторыми функциональными возможностями по сравнению со Swing.

Хотя SWT не реализует популярную архитектуру Model-View-Controller, используемую в Swing и многих других инструментах GUI, библиотека JFace , которая разрабатывается в рамках того же проекта Eclipse, представляет собой реализацию модели View-Controller с высокой абстракцией как расширение SWT. Разработчики могут выбрать использование JFace для более гибких и абстрактных моделей данных для сложных элементов SWT, таких как деревья, таблицы и списки, или они могут обращаться к этим элементам напрямую по мере необходимости.

SWT был разработан, чтобы быть очень мощным; быстрее, легче и лучше использует системные ресурсы, чем Swing.

Было предпринято несколько попыток сравнить SWT и Swing с использованием различных тестов производительности (тестов), которые подтвердили, что SWT работает быстрее, хотя эти тесты не были достаточно всеобъемлющими, чтобы прийти к решающему заключению.

Однако другие «реальные» тесты не выявили явного победителя, а скорее показали, что результаты сильно зависят от контекста и среды приложения.

Поскольку SWT использует для рендеринга собственную системную библиотеку, его элементы выглядят одинаково. », как и собственная графика системы.

Благодаря «конвертной» архитектуре SWT, в отличие от Swing, не требует обновления в приложениях, где он используется для небольших изменений собственных библиотек графического интерфейса.

Другими словами, при незначительном обновлении внешнего вида или поведения собственных библиотек в операционной системе это сразу же отражается в программе, написанной на SWT. И наоборот, это относится к Swing, где при каждом изменении операционной системы библиотека Swing должна обновляться, чтобы начать «имитировать» новое поведение.

Вывод:

В этой статье вы прочитали обзор на Java библиотеку Standard Widget Toolkit, для работы с графикой, а точнее с графической оболочкой.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Также рекомендую:

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии