какая библиотека лучше для быстрого Java-приложения SWT или Swing? - PullRequest
9 голосов
/ 13 октября 2008

какая библиотека лучше для более быстрого выполнения Java-приложений SWT или Swing?

Ответы [ 7 ]

14 голосов
/ 13 октября 2008

Несколько лет назад Swing работал медленно, поэтому SWT был разработан для выполнения собственных вызовов API в системах. Однако производительность Swing значительно улучшилась, и это уже не так. SWT является нестандартным, в то время как Swing официально является частью спецификации Java. JavaFX также будет построен поверх Swing. Если ваша работа не требует написания плагинов Eclipse, я бы использовал Swing.

Чтобы увидеть действительно хорошее приложение, разработанное на Swing, взгляните на Java IDE Jetbrain. Вы можете попробовать это в течение 30 дней.

http://www.jetbrains.com/idea/

Конечно, Sun's Netbeans - это тоже чистое приложение Swing, и оно бесплатное.

http://www.netbeans.org/

9 голосов
/ 14 октября 2008

Нет медленного свинга. Просто плохо написано. И это также относится к SWT. Большинство приложений делают лучшие ответы из-за архитектуры ядра затмения. До J6 было несколько проблем с серыми окнами в нереагирующие периоды, но это вполне решается с использованием полностью двойного буферизованного подхода в качающихся PLAF. Нет лучшего интерфейса UI. Существует только лучшая написанная программа, которая надлежащим образом использует многопоточность, чтобы избежать неотзывчивости пользовательского интерфейса. Лично я предпочитаю Swing:)

7 голосов
/ 06 ноября 2008

Сегодня обе платформы работают быстро. Предлагаю проверить эти критерии:

  1. SWT проще в использовании, чем Swing (особенно если это ваш первый пользовательский интерфейс)
  2. Качели старше, и вы можете найти больше компонентов
  3. Если вы также используете JFace, вы найдете множество мощных виджетов, которые работают «из коробки» (где вам потребуется много дополнительных настроек в Swing).
  4. Свинг доступен везде, SWT не
  5. SWT активно разрабатывается, у вас есть источник, и ошибки быстро исправляются. В течение многих лет Swing не затрагивался, а затем неожиданно появилось большое обновление для Java 6. Если у вас возникли проблемы с Swing, ну, вероятно, Sun не волнует.
  6. Если вы выбираете Swing, используйте фреймворк, такой как SwingX . Это сделает вашу жизнь намного проще.
4 голосов
/ 13 октября 2008

Согласно википедии нет явного победителя (хотя вы можете изменить это, если хотите). Неизбежно, вы можете написать тесты, которые будут показывать либо гораздо быстрее, чем другие. У Swing больше свободы для оптимизации на стороне Java. SWT может позволить больше оптимизаций происходить в оконной системе.

Вероятно, большее влияние на производительность окажет поведение вашего приложения. Сконцентрируйтесь на чистоте своего кода (и при необходимости сделайте небольшое профилирование).

1 голос
/ 16 октября 2008

«быстрее» субъективно. Оба могут бегать быстро, но проще сделать что-то тупое, чтобы выстрелить себе в ногу с помощью Swing и заставить чувствовать медленным.

Тем не менее, я считаю, что с Swing легче работать на уровне кода, чем с SWT.

0 голосов
/ 14 декабря 2009

Технологическое решение в отношении набора инструментов для виджетов - довольно тонкий лед в моих глазах. Объем работы, которую вам придется выполнять, когда дело доходит до среды приложения, значительный и гораздо более решающий, по моему мнению. Я считаю, что единственный аргумент в пользу SWT - это родной L & F. С другой стороны, большинство пользовательских интерфейсов в настоящее время склонны к неродственному L & F. Вы четко видите это в тенденции, когда приложения Eclipse RCP используют фреймворк форм, который рисует собственные градиенты и сечения и никоим образом не является собственным интерфейсом (то же самое относится к e4, проекту разработки eclipse v4). Подводя итог, если RCP является опцией в вашем проекте, я бы использовал Eclipse RCP (который является SWT). Полнота, бодрость и темп этой платформы непобедимы. Если RCP не подходит, Spring RCP выглядит довольно убедительно для меня (на основе Swing).

0 голосов
/ 13 октября 2008

за эти годы написано больше приложений, использующих свинг, чем SWT. Но удобство использования SWT в Windows выше, чем в Swing. Но есть исключения (http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/0132354802).

Существует большее сообщество приложений RCP, разработанных с использованием SWT. Хотя приложения RCP, использующие Netbeans, НЕ такие большие, это значительно.

С выходом Java 6 UPDATE 10 производительность приложений Swing должна быть довольно хорошей. Тем не менее, это повышение производительности может относиться и к приложениям SWT.

BR
~ А

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