Comparaison des outils de développement de l’interface graphique pour Linux

Je suis relativement nouveau dans le domaine de la conception et du développement d’interfaces graphiques. J’ai une expérience préalable, mais c’est avec Visual Basic.

Je voudrais développer une application graphique relativement complète (mais pas à la pointe de la technologie) sur Linux basée sur une application en ligne de commande. que j’ai. Après avoir fait quelques recherches sur Google, je trouve qu’il ya principalement trois bonnes (ou peut-être ce que je ressens) des moyens pour atteindre cet objective:

  1. Bibliothèque GTK + avec GLADE en tant que concepteur
  2. Bibliothèque Qt avec Qtdesigner comme concepteur
  3. Swing Java avec Netbeans

Afin de régler l’un des points ci-dessus (ou de tous les rejeter), je devrais connaître les aspects suivants de chaque élément de la liste ci-dessus. Ces aspects, par ordre décroissant de leur priorité sont:

  1. Licence: je ne pourrais pas débourser trop d’argent ici …
  2. Support du langage de programmation: je connais C / C ++ et très peu de Java.
  3. Facilité d’apprentissage / utilisation
  4. Flexibilité et puissance: Ce serait vraiment bien si la plupart des fonctionnalités (sinon toutes) dont j’ai besoin sont disponibles dans la bibliothèque principale.
  5. (Manque de) dépendances supplémentaires: Raisonnement identique au numéro 4
  6. Regarde et ressent
  7. Plateformes sockets en charge / Portabilité (effort requirejs pour changer de plate-forme)

Toutes les idées sur les sujets ci-dessus mériteraient leur pesant d’or (je ne voudrais pas réaliser après un mois que j’ai choisi le mauvais outil pour mon travail). Y a-t-il d’autres outils plus adaptés à mon objective que je ne connais pas?

Les réponses ponctuelles seraient les plus utiles.

EDIT: Ok donc je suis enfin parti avec Qt. Simplement parce qu’il est plus facile à apprendre et semble plus portable que GTK + (pour moi bien sûr).

Qt est votre meilleur pari.

  1. La licence Qt stipule

    Nokia accorde au Licencié un droit non exclusif et libre de droits de reproduction et de dissortingbution de la forme de code object de Redissortingbutables pour exécution sur les Plateformes spécifiées.

    Donc, vous ne devriez avoir aucun problème de licence

  2. Il est écrit en / pour C ++

  3. Ce n’est pas si difficile à apprendre
  4. La bibliothèque (bien que modulaire) contient tout ce dont vous avez besoin pour développer une interface graphique complète et des fonctionnalités supplémentaires (XML, réseau …)
  5. Je ne sais pas à ce sujet, désolé, mais je ne pense pas qu’il y ait des dépendances (du côté client)
  6. L’aspect est natif de l’environnement pour lequel l’application est compilée (c’est-à-dire l’apparence de Windows sous Windows, l’apparence d’OSX sur OSX)
  7. Qt est pris en charge sur une vaste gamme d’environnements de bureau

Pour plaider en faveur de GTK:

  1. Licence LGPL.
  2. Écrit en C, mais utilisable avec presque tous les langages de programmation, y compris C ++, Python, Javascript, Haskell, etc. Un nouveau langage de programmation, Vala, a été développé récemment. Il prend en charge les objects, signaux et propriétés de GTK. Sa syntaxe est très similaire à C # et son but est de permettre un développement très rapide des applications utilisant GTK. (C’est parce que l’utiliser dans le C original a tendance à produire un code très verbeux.)
  3. Si vous comprenez les principes orientés object (ce qui n’est pas nécessairement le cas de tous ceux qui suivent un cours de Java à l’université), il est facile d’apprendre.
  4. La bibliothèque est divisée en deux parties principales: GLib, la bibliothèque principale et GTK, la bibliothèque graphique. GLib possède de nombreuses fonctionnalités dont vous aurez besoin pour développer des applications: toutes sortes de structures de données, threads, expressions régulières, parsingur de fichiers clé-valeur, parsingur de langage de balisage XML (pour XML complet, vous avez besoin de la bibliothèque libxml2). , la mise en réseau. GTK contient tout graphique.
  5. Auparavant, de nombreuses applications possédaient l’ensemble des bibliothèques GNOME en tant que dépendance, mais ce n’est plus le cas maintenant, car une grande partie des fonctionnalités utiles ont été transférées dans GLib et GTK. Vous devriez pouvoir écrire une application complète sans aucune dépendance supplémentaire.
  6. Look and feel dépend de la plate-forme. Sur GNOME, GTK définit essentiellement l’apparence. Sous Windows, l’apparence native est émulée presque parfaitement. Sur OS X, pas tellement.
  7. Sur Windows et OS X, il faut du travail pour configurer correctement les bibliothèques. OS X est particulièrement pénible, car vous avez le choix entre exécuter un serveur X11 ou utiliser le backend Quartz plus difficile à configurer. Qt est probablement plus facile à cet égard. Cependant, le code de votre application est entièrement multi-plateforme et ne devrait donc nécessiter aucun portage sur aucun de ces systèmes.

J’espère que j’ai bien représenté les avantages et les inconvénients pour vous.