web-dev-qa-db-fra.com

Swing est-il toujours utilisé aujourd'hui?

Java Swing est-il toujours utilisé? est le message le plus récent que j'ai trouvé, et il a 4 ans (maintenant 9 ans), alors ...

Swing est-il utilisé dans un environnement professionnel ? Je suis étudiante et je me demande si ça vaut la peine d'apprendre ou si sa journée est passée.

(Je ne demande pas une comparaison Swing-AWT ... juste si Swing est obsolète ou non sur le marché du travail.)

30
Evorlor

La majorité des interfaces graphiques existantes Java les bases de code sont Swing et resteront probablement ainsi jusqu'à ce que la base de code pourrisse et que personne ne la maintienne plus.

Majorité de nouvea GUI Java les bases de code utilisent JavaFX, qui est le remplacement de Swing dans Java8 et fait partie du standard Java library maintenant. Il permet de CSS skinning, HTML5 éléments, et possède également un très joli FXML (un dialecte XML/HTML) qui permet aux non-programmeurs de "pénétrer" et de travailler sur la disposition de l'interface graphique, etc. Il a également SceneBuilder qui est une interface graphique gratuite/standard drag-n-drop constructeur qui génère automatiquement FXML pour votre programme.

Je ne plaisante pas quand je dis que FXML peut remplacer 3 000 lignes de extended JFrame class code pour une interface graphique Swing, avec 50 lignes de FXML. (projet récent que j'ai aidé à migrer).

Swing est encore largement utilisé et continuera de l'être pendant longtemps - après tout, c'était le seul choix pour Java pendant un temps très long. JavaFX, cependant, est agréablement agréable et mérite d'être appris.

En passant - Swing se construit sur AWT - AWT a beaucoup de problèmes, dont la plupart sont marqués comme "ne pas corriger" par le projet Java (OpenJDK/Oracle). Swing était conçu pour remplacer/corriger AWT, mais parfois vous allez épouser des objets AWT dans votre application Swing. Heck, vous allez parfois épouser des objets Swing dans votre application JavaFX. Je ne prendrais pas la peine d'apprendre AWT, si vous apprenez Swing, vous apprenez AWT pour La plus grande différence avec Swing vs AWT est que les composants Swing commencent par la lettre J. EX: JFrame vs Frame, etc.

48
SnakeDoc

Eh bien, Intellij IDEA utilise Swing pour son interface utilisateur, donc je ne dirais pas qu'il est obsolète. Accordé, je pense vraiment qu'il pourrait utiliser une énorme refonte (lire: quelque chose de pas plein de code spaghetti) .

10
hanetzer

Absolument oui. Les applications swing existantes sont toujours prises en charge et améliorées. Il n'y a pas d'alternative pour cela. Et si vous faites des applications comme l'IDE, SWING est toujours préféré. La nouvelle application aura bien sûr des interfaces web, mais cela dépend vraiment de la nature de l'application. Pas de règles génériques.

7