Existe-t-il un bon framework pour les applications de bureau Java? [fermé]


J'ai développé de nombreuses applications de bureau dans Swing, même celles un peu plus complexes, avec Hibernate et Spring integration. J'ai découvert que beaucoup de choses se répètent et doivent être faites rapidement et de manière pratique, comme le cycle de vie des applications, la journalisation, les alertes, l'autorisation, les formulaires et leur validation. J'ai commencé à chercher des frameworks. J'ai rencontré Swing Application Framework qui est mort depuis plusieurs années, comme il s'est avéré. Spring RCP a vraiment répondu à mes attentes, notamment en créant des formulaires se baser sur le modèle Java Bean est ce que j'ai aimé, mais j'ai réalisé qu'il était mort aussi. Netbeans RCP n'est pas pour moi, j'utilise Eclipse et je ne veux pas utiliser un autreE pour le développement de bureau. Je ne suis pas vraiment excité par Eclipse RCP, j'ai le sentiment qu'il est trop orienté Eclipse, je préférerais quelque chose de faible couplé à n'importe quel outil, d'ailleurs ce n'est pas si simple à apprendre.

Je suis surpris qu'il existe un support si faible pour le développement d'applications métier basées sur le bureau en Java. C'est comme Java n'était utilisé que dans un environnement Web. Quelle est la langue préférée pour créer de telles applications alors? Et si je veux rester avec Java, y a-t-il une chance de trouver quelque chose de similaire à Spring RCP (jusqu'à présent, je ne pouvais pas)?

Author: user1091733, 2013-01-19

6 answers

J'ai posé une question similaire il y a quelque temps, voir Swing desktop-development si vous êtes intéressé.

Ma conclusion était/est qu'il n'y a tout simplement pas de frameworks qui peuvent faire pour votre application de bureau, ce que n'importe quel bazillion great WEBframeworks peut faire pour votre application Web. Cela semble absurde, mais d'après mon expérience, en raison des excellents frameworks Web et du manque de frameworks de bureau, il est devenu beaucoup plus facile de développer une application Web.

J'ai utilisé Printemps-RCP pour 2 projets. C'était génial, mais il est à peu près inutilisable de nos jours, car vous êtes coincé à spring 2.5 avec lui. De plus, il "se sent" un peu lent pour moi et a vraiment faim de mémoire sur les machines 64 bits, ce qui est un problème de Spring-Swing le plus probable: https://jira.springsource.org/browse/SPR-9628

J'ai attendu le projet Valkyrie, mais il semble déjà mort

Je pense que vous ne trouverez rien qui couvre complètement vos besoins. http://swingx.java.net / pourrait peut-être vous offrir quelques widgets GUI, comme JXDatePicker. Je recommande également la reliure JGoodies et la forme JGoodies, les deux sont super. SI vous utilisez une application client-serveur, je recommande fortement d'utiliser Spring-Remoting (par exemple HTTP Invoker) avec Spring-Security. Vraiment rend les choses plus simples.

J'aime développer des applications de bureau avec Swing, mais malheureusement, vous devez vraiment "faire un effort supplémentaire". Client-Serveur-communication, sécurité ou même validation ne sont que quelques-uns exemples des nombreuses choses qui semblent trop compliquées ces jours-ci (par rapport aux cadres Web modernes). Vous pourriez également découvrir qu'il n'est pas aussi facile de créer, signer et déployer automatiquement une application avec java-webstart qu'il se doit.

Spring-RCP était la chose la plus proche d'un framework de bureau "complet" que j'ai trouvé jusqu'à présent et il est mort depuis des années.

Bonne chance!

 6
Author: Mario B, 2017-05-23 12:18:13

S'il vous Plaît essayer griffon. Ceci est basé sur groovy langue et inspiré par graal cadre. Il fonctionne sur JVM, le langage est très convivial pour les programmeurs java.

Citation du site

Griffon est un framework d'application pour le développement de bureau applications dans la JVM, Groovy étant le langage principal de choix. Inspiré par Grails, Griffon suit la Convention Paradigme de configuration, associé à un MVC intuitif l'architecture et une interface de ligne de commande.

.... L'architecture est très extensible.

Le framework Griffon est extensible via des plugins. Il y a beaucoup de choisir de. Par exemple, vous trouverez des plugins 3ème partie Swing composants comme Swingx, Jide et Macwidgets; persistance liée plugins comme DataSource, GSQL, Hibernate entre autres; graphiques 3D et la prise en charge de l'animation est possible via JOGL, LWJGL et Processing. Et de nombreux plus!

 11
Author: Jayan, 2015-10-24 17:21:56

Cela dépend principalement de la taille de l'application.

Pour les applications de petite et moyenne taille, il est logique d'utiliser JavaFX 2 qui n'utilise pas un langage différent, vous pouvez commencer par certains des tutoriels de base .

Comme vous l'avez mentionné pour l'application de niveau entreprise Eclipse RCPet Netbeans RCP sont un bon choix.

Netbeans RCP est beaucoup plus simple pour le développement, vous ne devriez pas le rejeter simplement à cause des préférences de l'E. Il y a un gratuitlivre à ce sujet qui est un bon point de départ.

Il y a aussi l'optionde e4 qui devrait être une amélioration significative pour eclipse mais je ne peux pas dire que je l'ai encore utilisée

Une ressource connexe qui mérite d'être regardée pourrait être:

Http://netbeans.dzone.com/why-from-eclipse-rcp-to-netbeans-platform

Netbeans RCP vs Eclipse RCP

 9
Author: Mite Mitreski, 2017-05-23 12:34:39

Découvrez JGoodies. Non seulement l'apparence est beaucoup mieux, mais ils offrent également un cadre pour concevoir des applications Swing.

Le gros problème en ce qui concerne les applications de bureau est que cela dépend vraiment de ce que vous essayez de concevoir. Contrairement aux webapps où c'est page Web->demande->page Web, l'application de bureau peut à peu près tout faire. Il n'y a pas de norme, même pour les applications professionnelles. C'est beaucoup plus comme AJAX que de dire votre application web Java EE ou PHP normale. Et combien d'AJAX les bibliothèques offrent en fait un cadre autre que l'appel et la mise à jour de composants spécifiques.

Vous pouvez avoir des menus, des boutons, des panneaux mis à jour, des choses rendues à la volée, des graphiques qui changent, des données mises à jour, etc.

Si vous cherchez juste des formulaires, alors JGoodies est probablement votre meilleur pari.

 4
Author: Stephane Grenier, 2013-01-20 10:04:59

Je ne connais aucun framework en tant que tel, mais Netbeans fournit un assistant de glisser-déposer pour les composants Swing. Eclipse a également un plugin similaire mais il est basé sur le plugin Netbeans.

 1
Author: TechSpellBound, 2013-01-19 01:44:24

J'ai découvert que beaucoup de choses se répètent et devraient être faites rapidement et de manière pratique, comme le cycle de vie des applications, la journalisation, les alertes, l'autorisation, les formulaires et leur validation.

Je vous recommande de les extraire dans votre bibliothèque personnelle "Core" que vous pouvez partager et utiliser dans tous vos projets. Puisque vous avez déjà implémenté les choses dont vous parlez, il devrait être plus facile de les généraliser que d'étudier un tout nouveau cadre. Probablement, un Maven privé projet?

Le développement se concentre sur le Web et le Mobile, nous ne devrions donc pas nous attendre à des efforts considérables de la part des fournisseurs de framework pour le bureau.

 1
Author: Ivan Nikitin, 2014-11-25 20:00:53