Мои критерии выбора между SWT и Swing:
- качество и доступность документации (документы, книги, учебные пособия, фрагменты)
- количество пользовательских компонентов (как коммерческих, так и бесплатных)
- качество и доступность средств разработки, таких как RAD Window Builder, платформа
для автоматизации тестирования графического интерфейса ... и т. д.
- родной внешний вид и пользовательский внешний вид
- кривая обучения (относится к первому пункту) / простота развития
уведомление : у меня есть только коммерческий опыт работы с SWT в небольших проектах, и мой опыт свинга настолько мал, что не может восприниматься всерьез - мои знания скорее теоретические, чем практические.
Вскоре после моего опыта SWT / Eclipse RCP - в следующем проекте Я бы выбрал Swing .
Это API кажется мне проще, чем SWT (вам не нужно управлять утилизацией компонентов вручную, чтобы предотвратить утечку памяти, вы добавляете компонент на панель вместо того, чтобы создавать компоненты с информацией о родительской панели, прежний ближе к моему предыдущему опыту ... и т. Д. .), родной вид и ощущение, что вы также можете быть в курсе событий, общая производительность достаточно хорошая (SWT должен быть быстрее, потому что он использует нативные компоненты поддерживаемой ОС - но действительно ли прирост производительности действительно большой? Я так не думаю .. ). И в Swing гораздо больше пользовательских компонентов, чем в SWT (это очень большой профессионал для Swing).