2010/10/24 Dany Veilleux <immorte...@hotmail.com> > Bonjour groupe, > > J'ai besoin d'un petit coup de main de départ. Je programme un peu en Java > mais là, j'aimerais beaucoup apprendre à faire des applications avec des > librairies de Gnome. > > Je me doute bien que je vais devoir délaisser le Java vu que le langage n'a > rien de natif à la plateforme. > > Toujours est-il, j'ai fait une recherche rapide sur Google et ce n'est pas > si évident de partir. J'ai trouvé le site suivant qui semblent bien > intéressant: > http://fr.wikibooks.org/wiki/Programmation_GTK2_en_C > > Donc mes questions sont: > > - Est-ce que je dois absolument faire du C pur ou le C++ ou autre > programmation object est disponible? > > GTK2 de base est de l'orienté objet codé en C. (parenthèse sur le sujet : j'ai toujours trouvé qu'émuler de l'orienté objet dans un langage clairement pas fait pour ça une très mauvaise idée. Mais bon, ce qui est fait est fait). Si ton objectif est de coder un programme rapide et réactif, alors tu n'a pas le choix d'apprendre la philosophie orienté-objet "à la GTK". Ceci dit, si tu n'est pas trop à l'aise avec du C pur ou ça ne te dérange pas d'avoir un programme légèrement moins rapide, il existe des alternatives :
pour le C++, il existe des "bindings" GTK. Le projet s'appelle gtk-mm. Les bindings permettent de créer des programmes GTK tout en gardant une approche orienté objet plus saine comparé à l'approche C. les inconvénients : en plus d'installer GTK, il faut aussi installer GTK-MM à chaque fois que tu veut développer. Le programme sera aussi légèrement moins réactif pcq GTK-MM sert de couche d'abstraction qui traduit des appels C++ en appels C natifs. Par contre ça empêche pas de faire de très bons programmes. (GParted, un partitionneur de disque populaire, utilise GTK-MM) Si tu aime le python, il y a PyGTK qui sont aussi de très bon bindings. Les mêmes inconvénients venant de GTK-MM s'applique aussi à celui-ci. je sais qu'Eclipse utilise des bindings GTK-Swing, alors il est tout-à-fait possible de créer des programmes GTK en java, mais j'en connais pas plus que ça sur le sujet. > - Est-ce qu'il y a un IDE avec le "Drag and Drop" pour créer les > interfaces graphiques facilement? > > De base, pour créer des interfaces graphiques dans GTK, il faut les coder. On crée soit-même les fenêtres, boutons, barre de défilement et gestionnaire de vues (containers and boxes). Par contre, si tu est prêt à ajouter une dépendance librairie de plus dans ton programme, tu peut créer tes interfaces de manière semi drag and drop avec glade3 et libglade. Avec glade3, tu va créer tes fenêtres, boutons, etc. À la fin glade3 te genère un fichier XML. Par la suite, par l'intermédiaire de libglade, tu peut auto-générer tes interfaces. La encore, le désavantage (un peu comme avec les bindings) c'est que glade sert de couche intermédiaire qui traduit la configuration de fichier XML en appels natifs GTK. > - Est-ce qu'il y a un IDE que je peux installer (Eclipse sûrement)? > > Eclipse fait le C, alors il fait aussi du GTK > > - Comment installer le tout avec les SDK nécessaire? > > Je crois que sous ubuntu il suffit d'installer les paquets de développement gtk (libgtk-dev ou un nom du genre) et ensuite de coder. > > Merci de votre aide! > Comme dernière note : mon but n'est pas de partir une autre guerre sainte sur "quel toolkit graphique est le meilleur ?", mais GTK n'est pas un des toolkits les plus faciles. Débuter avec GTK quand on a pas d'expérience antérieur à coder des interfaces graphiques n'est pas une mince affaire. Comme j'ai mentionné plus haut, d'un point de vue architecturale, forcer une approche orienté objet dans un langage qui n'était pas fait pour ça à la base ne peut qu'annoncer des soucis. Bien que Qt a ses propres désavantages, au moins il s'assume pleinement dans son approche orienté objet en utilisant un langage convenant (C++) > > Dany > > -- > Ubuntu-quebec mailing list > Ubuntu-quebec@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-quebec > > -- "All musicians are drug addicts, no question about it. The ecstasy we get during a concert is proof enough. yet there is a slight difference between us, the musicians, and the typical 'street-junkie'... Instead of consuming powder, we consume vibrations" Will et/ou Gregory Eric Sanderson Turcot Temlett MacDonnell Forbes et/ou Touffa! :)
-- Ubuntu-quebec mailing list Ubuntu-quebec@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-quebec