...
...

Standard Widget Toolkit (SWT). Введение

SWT — кроссплатформенная библиотека компонент для построения графического интерфейса пользователя (Graphical user interface (GUI)). Первым Java- фреймуорком для построения графического интерфейса пользователя была созданная корпорацией Sun Microsystems библиотека AWT (Abstract Windowing Toolkit). Данный фреймуорк использовал визуальные компоненты операционной системы.

А так как требовалось обеспечить кроссплатформенность, то возникла проблема различия состава визуальных компонент в различных операционных системах (ОС). По этой причине часть полезных компонент была исключена из состава AWT. В терминологии большинства ОС такие компоненты называют Widget ("гаджет", "штуковина" — небольшой поли-, пара-, гипер- и метафункциональный предмет. Перочинный ножик с нужными и ненужными, но потенциально полезными функциями, например). Для решения данной проблемы корпорацией Sun была начата разработка нового фреймуорка. В результате была создана очень мощная, включающая большое количество компонент библиотека Swing. В отличие от AWT, компоненты Swing не зависят от widget'ов операционной системы. За прорисовку и поведение GUI- элементов полностью отвечает библиотека Swing. Это позволило создать GUI-компонетны, которые одинаково выглядят и функционируют на различных операционных системах. Для каждой операционной системы были разработаны настройки внешнего вида и поведения (LookAndFeel), которые максимально эмулировали компоненты конкретной операционной системы. Использование lookAndFeel позволило создавать красочные и привлекательные интерфейсы Java-приложений.

Популярность языка Java привлекла разработчиков корпорации IBM. Его использование позволяло решить проблему создания множества версий одних и тех же продуктов для различных операционных систем. Ранее в процессе разработки визуального интерфейса для VisualAge/SmallTalk в сотрудничестве корпорации IBM и компании Object Technology International, Inc. (OTI) была разработана библиотека для построения визуального интерфейса CommonWidgets (позднее компания ATI стала одним из подразделений корпорации IBM). Имея большой штат разработчиков VisualAge/SmallTalk, корпорация IBM инициировала проект по разработке универсальной платформы для создания Java-приложений Eclipse (впоследствии был создан консорциум Eclipse, и данный проект стоимостью в $40 млн был вместе с исходными кодами передан в свободное пользование (OpenSource). Причем лицензия на Eclipse позволяет создавать закрытые коммерческие продукты.

В процессе разработки Eclipse при сотрудничестве IBM и OTI был разработан новый графический фреймуорк, который позволил использовать ранее накопленный опыт без переучивания персонала и упрощения портирования ранее созданных продуктов на новую платформу. Этот фреймуорк получил название Standard Widget Toolkit (SWT). В SWT, как и в AWT, максимально используются компоненты операционной системы. Но, в отличие от AWT, отсутствующие в конкретной операционной системе компоненты не исключены, а эмулируются. В результате была создана быстрая высокоэффективная кроссплатформенная библиотека компонент, которые выглядят и ведут себя как нативные компоненты операционной системы. Что, в свою очередь, упрощает процесс обучения пользователей Java-приложений, так как SWT-программы не отличаются от обычных приложений.

Библиотеку SWT можно использовать не только для разработки приложений на платформе Eclipse, но также и для разработки любых других приложений. При этом можно использовать любую среду разработки Java-приложений Integrated Development Enviroment (IDE) — например, Oracle Java Developer или Borland Java Builder. Для этого достаточно включить необходимые библиотеки SWT в состав Java-приложения. Фреймуорк SWT поддерживает большинство популярных операционных систем. Также существует возможность компиляции SWT Java-приложений в нативный бинарный код, что повышает производительность созданных приложений и не требует установки Java-машины — Java Runtime Enviroment (JRE). Такие приложения ничем не отличаются от нативных приложений конкретной операционной системы, а использование современных IDE позволяет быстро создавать качественные кроссплатформенные продукты для различных операционных систем.

Сергей Бердачук, berdachuk@gmail.com, http://forJava.dev.juga.ru

© Компьютерная газета

полезные ссылки
Аренда ноутбуков