Quel langage de programmation est le plus facile et le meilleur pour la conception d’interfaces graphiques ?


Je n'ai't utilisé toutes les bibliothèques et frameworks d'interface graphique du monde mais je ne pense pas que la plupart des langages fassent extrêmement bien l'interface graphique de toute façon. En termes de support et de documentation, vous ne pouvez't vraiment vous tromper avec C#, Java ou Python et leurs frameworks respectifs.

Tout dépend de vos besoins. Vous pouvez construire une interface graphique fonctionnelle avec Python et tkinter si vous ne vous souciez pas de l'apparence de votre interface graphique. Gardez à l'esprit qu'il y a des contournements que vous pouvez faire pour rendre les applications tkinter plus modernes, comme l'utilisation d'images et d'icônes personnalisées dans la mesure du possible, etc.


De bons programmes d'interface graphique ne sont pas intrinsèquement faciles à écrire, quel que soit le langage dans lequel ils sont écrits, donc vous pouvez fondamentalement oublier la partie facile de votre question.

De nos jours, vous'utiliserez probablement une sorte d'éditeur visuel pour obtenir rapidement vos composants à l'écran, mais vous pouvez coder vous-même les mises en page si vous'êtes prêt à relever le défi.

J''ai décidé de mettre mon jeu actuel en attente pour le moment et décidé de construire un éditeur de carte 2D en Java Swing. It's ne va pas être une sorte de jouet stupide, it's va finir par être assez avancé, avec la plupart des fonctionnalités de base que vous'attendez dans un éditeur de carte 2D. Je n'ai jamais construit d'éditeur de cartes auparavant, mais je m'inspire d'autres éditeurs de cartes 2D. Pourquoi est-ce que j'utilise Swing ? Parce que je vais l'utiliser pour créer des niveaux de jeu pour des jeux que je ferai dans le futur et qui feront partie de mon portfolio et je me suis dit que puisque j'utilise déjà Java pour les jeux de mon portfolio, je pourrais aussi l'utiliser pour mes outils. En outre, Java swing semble assez moderne sans être trop fantaisiste. Juste ce que je veux.

D'après mon expérience jusqu'à présent, Java Swing est une douleur royale dans le cul. Qu'est-ce qui en fait un casse-tête ? C'est le fait qu'il utilise tant de types différents de gestionnaires de mise en page, et que vous pouvez les mélanger. Cela semble être une bonne chose, mais c'est plutôt mauvais, car selon le gestionnaire de mise en page que vous utilisez pour des JPanels et JFrames spécifiques, certaines fonctions de JComponent soit ne'fonctionnent pas, soit fonctionnent, mais émettent un comportement varié.

Un excellent exemple est l'utilisation du BorderLayout dans les JPanels et JFrames. BorderLayout semble vous permettre uniquement de placer un composant à 5 endroits différents dans un cadre et il étire automatiquement vos composants pour qu'ils s'adaptent aux conteneurs. L'appel de méthodes de dimensionnement sur les widgets lorsqu'ils se trouvent à l'intérieur d'un conteneur configuré avec BorderLayout est souvent inutile, car la disposition ignore tout simplement vos demandes de dimensionnement. Java ne fournit rien en termes d'indication que vos appels de méthode font de la merde.

Si vous'utilisez le BoxLayout, certaines méthodes de dimensionnement des widgets sont prises en compte et dimensionnent effectivement les widgets correctement mais l'utilisation des mêmes méthodes dans BorderLayout fera en sorte que rien ne se passe. Il peut être difficile de mémoriser ce qu'une certaine disposition permet et prend en compte en termes de méthodes JComponent.

Pour résumer, cela dépend de vos besoins. La plupart des langages en dehors des langages de niveau système seront quelque peu décents pour la programmation d'interfaces graphiques, mais pas parfaits. Je ne pense vraiment pas que c'est une bonne idée de programmer une interface graphique en C de nos jours si vous n'avez pas fait de programmation d'interface graphique auparavant et que vous n'avez pas vraiment de raison de l'utiliser. En fait, c'est un cauchemar dans la plupart des langages, vous devez juste choisir votre poison. Si vous choisissez le C pour une interface graphique, cela va probablement finir par être plus un casse-tête que ce qu'il est actuellement pour moi en Java et bon sang, c'est un casse-tête, un mal de cul, un mal de couilles et tout ce qu'il y a entre les deux.

J'ai trouvé que la combinaison de BorderLayouts, JPanels et BoxLayouts a tendance à fonctionner vraiment bien mais je prédis que je vais rencontrer beaucoup de problèmes plus tard quand j'aurai besoin de composants et de mises en page plus complexes.