Java Swing ou Windows Forms pour l'application de bureau?
Je suis en train d'écrire un gros client de l'application que j'ai l'idéal serait d'être multi-plateforme, mais peut s'installer pour Windows uniquement basé sur les éléments suivants:
- Je suis beaucoup plus fort en C# que Java (bien que j'ai quelques années Enterprise Java expérience)
- Je n'ai pas fait beaucoup avec Windows Forms ou Java Swing, juste jouet apps pour chacun d'eux, si
Je suis plus à l'aise dans Windows
Les formes de Swing - Je suis inquiet au sujet de la performance des applications Swing (vs Windows Forms), mais je suis
demandez si les choses se sont améliorées au cours des deux dernières années - Je suis complètement ouverte à développer dans les deux plate-forme...pas de MS ou Java snobisme ici. En fait, si vous voulez me dire de le faire dans Qt, wxWidgets, ou quelque chose d'autre, je vais écouter!
Si vous avez changé de Windows Formes de Swing, quels ont été les principaux obstacles?
A été le premier appel de la croix-plate-forme de la peine à la fin, ou un plus rapide, moins flexible, pour Windows uniquement de l'application ont été mieux?
Si vous utilisez Java Swing, IDE qui préférez-vous glisser/déposer de la présentation d'un formulaire?
Cela peut aider pour le " Si vous avez changé de Windows Formes de Swing, quels ont été les principaux obstacles? question de: stackoverflow.com/questions/740625/...
Swing mauvaise performance est un mythe. Un Swing GUI a une mauvaise performance de quand elle a été écrite par un développeur qui ne comprennent pas de Swing. Quant à votre question, Swing prend du temps pour s'habituer à (lire: tout savoir Swing pièges et comment les contourner).
Vieux post mais il n'est certainement pas un mythe, l'utilisation de votre cpu monte en flèche jusqu'whenewer vous redimensionnez même vide JFrame.
Swing mauvaise performance est un mythe. Un Swing GUI a une mauvaise performance de quand elle a été écrite par un développeur qui ne comprennent pas de Swing. Quant à votre question, Swing prend du temps pour s'habituer à (lire: tout savoir Swing pièges et comment les contourner).
Vieux post mais il n'est certainement pas un mythe, l'utilisation de votre cpu monte en flèche jusqu'whenewer vous redimensionnez même vide JFrame.
OriginalL'auteur Noah Heldman | 2010-02-19
Vous devez vous connecter pour publier un commentaire.
Je développe un complexe de faible latence GUI dans une banque à l'aide de la plate-forme Netbeans RCP. Il y a beaucoup de les gens à l'aide de Netbeans. Je travaille aussi avec WinForm devs trop.
WinForm les gars ont quelques très riches et de rendement élevé/faible empreinte des grilles et des widgets, en particulier des offres commerciales comme Infragistics. Netbeans les applications peuvent avoir de grandes ressources empreintes de sorte qu'il doit vraiment être quelque chose que votre client est de passer la plupart de ses ressources informatiques.
Si elle a besoin d'être maigre et interface riche ou rapide puis Winforms est le chemin à parcourir.
Si vous voulez une grande bibliothèque d'Api pour construire et maintenir un grand complexe interface graphique de la base de code et avoir la liberté de complètement portable tech pile j'ai choisi de Java à chaque fois.
Après avoir dit que, Netbeans IDE est épouvantable! Vous feriez bien de visiter Geertjan de l' blog, si vous allez pour elle.
Check-in de votre code régulièrement à une branche lors de l'utilisation de l'Matisse éditeur de Graphiques, il se rend souvent les noix et les ordures de vos mises en page et ne parvient pas à annuler. Le sous-jacent RCP plate-forme de dépendance de la manipulation-si elle vous reçoit dans un mouvement de torsion peut être difficile, mais toujours mieux que OSGi!
Bonne chance, l'interface graphique, le développement n'est pas aussi facile que les gens disent!
OriginalL'auteur
Il ressemble à ce que vous voulez entendre, c'est: "Ne pas utiliser swing garder avec Winforms" donc, ici, il va: N'utilisez pas de swing. Si vous vous sentez plus à l'aise avec le C#, je pense que c'est la seule raison pour laquelle vous devez aller pour elle.
Swing applications sont rapides et l'ensemble de la plate-forme est assez bon, mais il a certainement besoin de quelque temps pour l'apprendre.
Si vous décidez de l'essayer, je vous suggère soit Netbeas ou IntellJ Idée, les deux ont une grande GUI constructeurs.
Mais vraiment, il suffit de garder avec C#
OriginalL'auteur
Téléchargement Netbeans et essayer de faire une simple application Swing. L'éditeur de l'interface est vraiment sympa et puissant, et il est facile d'éviter de faire le dessin à la main. Vous pouvez ensuite ajouter des fonctionnalités avec des extraits de code placé où Netbeans vous dit de vous.
Je l'ai fait à un simple "lu dans la feuille Excel pour JTable et télécharger JTable à la base de données" GUI application à partir de zéro dans une journée. J'avais l'intention juste pour faire l'interface graphique avec Netbeans et ensuite l'importer dans Eclipse et de faire le gros du travail, mais c'est beaucoup plus facile de rester dans Netbeans.
L'essayer, vous pourriez, comme.
Edit: en ce qui Concerne la vitesse de Swing: Il y a eu BEAUCOUP d'améliorations et, essentiellement, il peut être très rapide et dynamique. Le problème habituel est pour le programmeur de créer en tant que réactif de code pour le Swing à l'appel à faire ses choses, et il y a un peu de tout ce qui est technique, vous devrez déterminer si vous rencontrez ce problème (en gros faire des choses lourdes sur les threads d'arrière-plan).
OriginalL'auteur
Bien, évidemment, c'est une question de goût, mais pour windows uniquement de l'environnement, je préfère windows forms ( qui théoriquement pourrait essayer de l'exécuter sur d'autres plates-formes via Mono ) ou WPF (qui est une meilleure option pour une grosse application client pour autant que je suis concerné ). J'ai vu beaucoup de vraiment laid applications Swing, qui sont cependant de la croix-plate-forme. En effet, avec un peu de travail supplémentaire que vous pouvez obtenir presque native de regarder sur chaque plate-forme. Vous pouvez utiliser NetBeans pour glisser/déposer
avec Swing.
OriginalL'auteur
Un point qu'aucune des autres réponses a abordé, quelles sont les utilisateurs finaux de l'application attend-il? Ont-ils besoin d'une plate-forme de l'app?
J'ai eu un coup d'oeil à la Guide visuel pour les Composants Swing (Apparence Windows) et de tous les composants semblent avoir un Windows XP style, qui peut être un problème si votre oftware va être exécuté sur Windows Vista/7 (cela dit, le Swing bibliothèque peuvent de nouveau thème lui-même lors de l'exécution sous Vista/7, mais je ne pouvais pas trouver quelque chose qui dit de toute façon).
OriginalL'auteur
Il est plus facile de travailler avec des Formes en raison de la meilleure conception d'outils dans Visual Studio et à l'aide de msdn et d'autres sources.
Swing semble être lent à démarrer lorsque par rapport aux Formes. Voir:
http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx
Aussi aujourd'hui, Swing est moins utilisé sur le bureau que les autres technologies.
OriginalL'auteur
C# règles...Il n'y a aucune question à propos de C# (.NET) lorsque vous souhaitez développer votre application rapidement. Comme un exemple, vous pouvez comparer les options (flexibilité) de la grille de données avec la moche JTable.. je suis sûr que vous ne serez pas surpris.
OriginalL'auteur
Je vois des gens qui disent utiliser winforms pour le développement rapide, ce que beaucoup ne réalisent pas est que vous ne pouvez pas appliquer le modèle de contrôle d'affichage modèle de conception ou de tout modèle de conception pour winforms. Netbeans ne permettent pas d'utiliser les modèles de conception aussi et il cache le code. Si vous utilisez java, ne pas utiliser de gui constructeurs, le type à la main. J'ai utilisé les deux langues et profiter de swing plus parce que je peux le modèle de l'interface graphique de code comme je le veux. Winforms ne vous donne pas cette liberté. Aussi java a beaucoup plus de la bibliothèque. Il m'a fallu un mois pour apprendre le swing de développement à un niveau professionnel à regarder un udemy vidéo je l'ai acheté, obtenir une vidéo.
OriginalL'auteur