Swing est bon à bien des égards, alors pourquoi avons-nous besoin de JavaFX?Pourquoi avons-nous besoin de JavaFX alors que nous avons Swing?
Répondre
Je pense que la réponse de Staale est un bon début, mais j'ajouterais .. .
Utilisez JavaFX si
1) Si vous êtes intéressé par le développement de l'application pour mobile ou à la télévision (note cela n'a pas encore publié)
2) Si vous travaillez avec un graphique concepteur qui crée l'apparence de l'application dans photoshop et vous wa nt pour pouvoir importer leur look directement.
3) Si vous créez une interface graphique riche, c'est important pour vous. (Donc si vous voulez un panneau à des fondus enchaînés, ou glisser sur demande)
Utiliser si Balançoire
1) Vous créez une application principalement pour le bureau.
2) les questions de performance et vous savez ce que vous faites (si vous écrivez un IDE, Swing serait un meilleur choix)
3) Vous êtes à la recherche d'un RPC (riche plate-forme client) pour construire sur.
Il existe à la fois une partie technologique de JavaFX qui aidera à concevoir des interfaces utilisateur, et une partie langage qui facilitera l'écriture des interfaces utilisateur.
La technologie JavaFX apporte des capacités graphiques 2D et vidéo. Afaik ceux-ci seront également rendus disponibles généralement à Java. Ils sont de bons avancements pour créer l'application côté client avec les interfaces graphiques fantaisie et interactives. Le 2d scenegraph devrait permettre de créer des applications graphiques plus lourdes et toujours réactives.
Le langage JavaFX est un bien meilleur moyen de créer des interfaces utilisateur par programmation. Le code Java Swing peut être très verbeux, tandis que le même code JavaFX sera plus petit et plus facile à maintenir. La prise en charge de la fermeture facilite la création de gestionnaires d'événements. L'attribution décélative des paramètres facilite la configuration des éléments. La syntaxe de liste native facilite l'ajout de composants.
Veuillez noter que je n'ai pas vraiment écrit de JavaFX, mais j'ai lu le code et j'ai prêté attention à ce qui se passe. Je recommande de l'essayer vous-même pour savoir ce qui cuisine.
Je ne suis pas sûr que "les interfaces graphiques de fantaisie" est ce dont les entreprises ont besoin. Dans mon entreprise, nous développons des applications d'entreprise (dans diverses technologies, Java/Swing en fait partie) et je ne vois pas comment nous pourrions développer des applications équivalentes avec JavaFX. – jfpoilpret
"Swing code peut être très laconique": je ne pense pas que "taver" est le mot que vous voulez là - juste le contraire, en fait. Verbose, peut-être? Ou gonflé? –
Verbose était ce que je voulais dire. L'anglais est ma 2ème langue, je suis autorisé à avoir quelques incohérences :) – Staale
C'est la même raison pour laquelle nous avons Java, C++, C#, Python, Perl, Ruby ... bien que nous avons déjà C.
- 1. Pourquoi avons-nous encore besoin d'un fichier stub .lib quand nous avons l'implémentation réelle .dll?
- 2. Pourquoi avons-nous besoin du fichier pfx (échange de clés)?
- 3. Avons-nous vraiment besoin de NULL?
- 4. Pourquoi avons-nous besoin de l'interrogation Comet ou HTTP lorsque nous n'utilisons pas de navigateur?
- 5. Pourquoi avons-nous besoin de flux Reader/Writer lors de l'utilisation de TCPListner en réseau C#?
- 6. Pourquoi avons-nous besoin de constructeurs et de membres privés dans la classe abstraite?
- 7. pourquoi avons-nous besoin à la fois const et getters non-const dans cet exemple
- 8. En quoi un panneau WPF Wrap est plus lent que nous avons besoin d'un panneau virtuel
- 9. Existe-t-il des exemples où nous avons besoin de l'héritage protégé en C++?
- 10. Accessibilité (WCAG 2.0) avons-nous besoin d'étiquettes dans les cellules de table
- 11. Conversion d'une application Swing en JavaFX
- 12. Avons-nous l'akismet api à utiliser sur les pages html?
- 13. Avons-nous besoin d'installer le certificat de signature de code intermédiaire pour une application XBAP/ClickOnce de confiance totale?
- 14. XPath 2.0: comment tester que nous avons dans une variable est un élément?
- 15. en utilisant les composants Swing dans javafx s'ils ne sont pas dans la palette NetBeans javafx
- 16. C# - Alors que les délégués effectuent la tâche Asyn, ai-je besoin de System.Threading?
- 17. Nous traitons les interfaces et les implémentations comme nous traitons le contenu et le style, alors pourquoi ne pas le gérer de la même façon?
- 18. L'accessibilité peut parfois échouer, même lorsque nous avons une connexion Internet
- 19. Pourquoi ne pouvons-nous pas changer l'état de l'appartement d'un thread ThreadPool et pourquoi n'avons-nous pas besoin d'un messagepump quand ShowDialog est utilisé?
- 20. JavaFX Script et Java
- 21. javaFX en tant que client webservice?
- 22. Est-ce que JavaFX fonctionnera sur Android?
- 23. Pourquoi nous ne pouvons pas avoir de type "char" enum
- 24. composant JavaFX qui émule JTable
- 25. authentication mode = Formulaires - alors pourquoi est-ce que je reçois une invite de connexion Windows?
- 26. Castle Windsor: Alors, que font les ActAs?
- 27. Donner des animations lorsque nous avons créé la visibilité d'un UIDatePicker
- 28. Qu'est-ce que AF_INET, et pourquoi en ai-je besoin?
- 29. Si vous n'utilisez pas exec ("ls -l") en PHP, avons-nous besoin d'appeler stat() pour obtenir les tailles de fichier 1000 fois s'il y a 1000 fichiers?
- 30. pourquoi préférons-nous? à ?? opérateur dans C#?
La même raison pour laquelle nous avons Silverlight même s'il y a Flash !! Les deux sont là. Que pouvons-nous faire? – Niyaz
Sauf que Silverlight et Flash ne proviennent pas de la même société, alors que JavaFX et Swing viennent de le même! – jfpoilpret