Является ли Swing все еще в использовании сегодня?

Java Swing все еще используется? это самый последний пост, который я нашел, и ему 4 года (сейчас 9 лет), так что...

Используется ли Swing вообще в профессиональной среде? Я студент, и мне интересно, стоит ли учиться или прошел его день.

(Я не спрашиваю о сравнении Swing-AWT... просто является ли Swing устаревшим в рабочей силе.)

Ответ 1

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

Большинство новых java-кодов GUI используют JavaFX, который является заменой Swing в Java8 и теперь является частью standard java library. Он позволяет CSS скинирование, HTML5 элементы, а также имеет очень приятный FXML (диалект XML/HTML), который позволяет не программистам "попасть туда" и работать с макетом графического интерфейса и т.д. Он также имеет SceneBuilder, который является свободным/стандартным GUI drag-n-drop, который автоматически генерирует FXML для вашей программы.

Я не знаю, когда я говорю FXML может заменить 3000 строк кода extended JFrame class для графического интерфейса Swing с 50 строками FXML. (недавний проект, который я помог мигрировать).

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

В качестве стороннего - Swing-сборки на AWT-AWT имеют множество проблем, большинство из которых отмечены как "wont-fix" в проекте java (OpenJDK/Oracle). Swing был построен для замены/исправления AWT, однако иногда вы вступаете в брак с объектами AWT в своем приложении Swing. Черт, вы иногда будете вступать в брак с объектами Swing в своем приложении JavaFX. Я бы не стал изучать AWT, если вы узнаете Swing, вы изучаете AWT по большей части. Наибольшая разница с Swing vs AWT - компоненты Swing начинаются с буквы J. EX: JFrame vs Frame и т.д.

Ответ 2

Ну, Intellij IDEA использует Swing для своего пользовательского интерфейса, поэтому я бы не сказал, что он устарел. Конечно, я действительно думаю, что он мог бы использовать огромный капитальный ремонт (читай: что-то не заполненное кодом спагетти).

Ответ 3

Абсолютно да. Приложения Legacy swing по-прежнему поддерживаются и улучшаются. Альтернативы этому нет. И если вы делаете такие приложения, как IDE, SWING по-прежнему предпочтительнее. Разумеется, новое приложение будет иметь веб-интерфейсы, но это действительно зависит от характера приложения. Нет общих правил.