Java Swing все еще используется? - PullRequest
29 голосов
/ 08 июня 2010

Я планирую создать приложение Java Swing, и мне было интересно, используется ли Swing или он был заменен чем-то другим.

Заранее спасибо!

Ответы [ 10 ]

23 голосов
/ 08 июня 2010

Swing все еще используется .... но есть AWT !!

AWT:

Плюсы:

  • Скорость: использование собственной производительности компонентов скорости равноправных узлов.
  • Look and FeelКомпоненты AWT более точно отражают внешний вид операционной системы, в которой они работают.

Минусы:

  • Переносимость: использование собственных пиров создаетспецифичные для платформы ограничения.Некоторые компоненты могут вообще не работать на некоторых платформах.
  • Разработка сторонних разработчиков: большинство производителей компонентов, в том числе Borland и Sun, основывают разработку новых компонентов на компонентах Swing.Существует гораздо меньший набор доступных компонентов AWT, что накладывает бремя на программиста при создании его или ее собственных компонентов на основе AWT.
  • Функции: Компоненты AWT не поддерживают такие функции, как значки и подсказки.

Swing:

Плюсы:

  • Переносимость: Чистый дизайн Java предусматривает меньше ограничений, специфичных для платформы.
  • Поведение: Чистый дизайн Java обеспечивает более широкий диапазон действий для компонентов Swing, поскольку они не ограничены нативными одноранговыми узлами, которые использует AWT.
  • Особенности: Swing поддерживает более широкий диапазон функций, таких как значки и всплывающие инструменты.Советы по компонентам.
  • Поддержка поставщиков: разработка Swing более активна.Sun вкладывает гораздо больше энергии в повышение надежности Swing.
  • Внешний вид и функциональность: подключаемый внешний вид позволяет создавать единый набор компонентов графического интерфейса, которые могут автоматически выглядеть и работать на любой платформе ОС (Microsoft Windows,Солярис, Макинтош и др.).Это также упрощает внесение глобальных изменений в ваши Java-программы, которые обеспечивают большую доступность (например, выбор высококонтрастной цветовой схемы или изменение всех шрифтов во всех диалоговых окнах и т. Д.).

Минусы:

  • Производительность: компоненты Swing обычно работают медленнее и медленнее, чем AWT, как из-за того, что они являются чисто Java, так и из-за проблем с видео на разных платформах.Поскольку компоненты Swing обрабатывают свои собственные рисунки (вместо использования нативного API, такого как DirectX в Windows), вы можете столкнуться с графическими сбоями.
  • Внешний вид: даже когда компоненты Swing настроены на использование внешнего вида ОСони работают, они могут не выглядеть как их родные аналоги.

Больше чтения ..

13 голосов
/ 08 июня 2010

Да, он все еще используется.

Обновление: оно все еще используется.

12 голосов
/ 08 июня 2010

Swing все еще там и хорошо поддерживается.

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

Также стоит взглянуть на комбинацию "groovy / swing" для быстрой разработки и создания прототипов.

10 голосов
/ 08 июня 2010

Мы все еще используем это. Не все является веб-приложением, пока что есть некоторые предварительные замены (например, SWT, в котором написано Eclipse) SWT имеет собственный уровень, который оборачивает базовые вызовы в собственный уровень окон. Он работает только для ограниченного набора платформ и, конечно, требует некоторых сторонних общих библиотек. Рискну сказать, что приложений SWT гораздо меньше, чем приложений Swing.

9 голосов
/ 03 июня 2013

Да. Примерно 1 из 120 вопросов в StackOverflow о Swing enter image description here.

3 голосов
/ 08 июня 2010

Несмотря на то, что Swing все еще используется, я бы предпочел выбрать Eclipse RCP в качестве платформы для настольных приложений, поскольку она также предоставляет огромное количество плагинов.

3 голосов
/ 08 июня 2010

Да, он все еще используется. Библиотека все еще является частью JRE, и, вероятно, так будет и в будущем. Есть и другие варианты. Например, вы можете захотеть взглянуть на JavaFX, если вам нужен богатый пользовательский интерфейс; или используя SWT в вашем приложении. Возможно, вам нужны какие-то 3D-эффекты, и вам нужно посмотреть на 3D-движок, такой как jpct или jmonkeyengine. Со времени разработки программного обеспечения Swing Java несколько продвинулась вперед.

1 голос
/ 08 июня 2010

Да, он все еще используется. Требуется время, чтобы привыкнуть к нему, но как только он у вас есть, это довольно хорошая среда для написания приложений. Посмотрите на Webstart для развертывания вашего приложения. Также немного неудобно для начала, но очень удобно, когда вам удобно

1 голос
/ 08 июня 2010

Свинг по-прежнему является предпочтительным способом создания тяжеловесов, например «Настольные» приложения, на Java. Если ваш код работает в веб-браузере, вы, вероятно, будете использовать другие вещи. Но для автономных приложений для настольных компьютеров, это довольно отлично и широко используется.

0 голосов
/ 08 июня 2010

Для настольных программ, да, Swing активно используется. Однако есть много альтернатив, потому что многие думают, что Swing очень многословен и с ним трудно работать. JavaFX стоит взглянуть на

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...