Какая библиотека лучше для более быстрого java-приложения swt или swt?

какая библиотека лучше для более быстрого java-приложения swt или swt?

возможный дубликат Настольное приложение Java: SWT против Swing

Georg Schölly 14.11.2010 18:39
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
9
1
3 713
7

Ответы 7

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

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

Если это так, то разве Swing не является победителем, поскольку он наиболее способен имитировать тему ОС?

Dimitry 13.10.2008 01:06

Конечно нет! SWT использует собственные виджеты, поэтому вы не сможете лучше себя вести с Swing.

gizmo 13.10.2008 01:11

Я считаю, что Swing лучше справляется с собственными виджетами. Ему не нужно заниматься исправлением собственных API-интерфейсов. Где Swing терпит неудачу, так это там, где у вас есть подключаемые движки, как в Linux.

Tom Hawtin - tackline 13.10.2008 02:31

Хорошо, Том, Википедия была исправлена ​​по твоей просьбе. en.wikipedia.org/w/…;)

shemnon 13.10.2008 23:54

Посмотрим, на сколько хватит :)

shemnon 14.10.2008 01:02

на протяжении многих лет существует больше приложений, написанных с использованием Swing, чем 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,
~ А

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

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

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

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

http://www.netbeans.org/

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

Конечно, есть приложения с медленным свингом; Я использовал несколько. Я также использовал несколько медленных SWT-приложений.

Draemon 17.08.2012 06:34

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

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

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

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

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

Другие вопросы по теме