Allo Gregory,
Merci beaucoup pour la réponse. J'ai tout mon temps pour apprendre alors je 
lirai tranquillement. Le plus difficile est d'écrire la première ligne. Une 
fois que mon HelloWorld sera fonctionnel, j'y ajouterai des boutons. 
Dany

Date: Sun, 24 Oct 2010 16:45:32 -0400
From: [email protected]
To: [email protected]
Subject: Re: [Ubuntu-QC] Programmer dans Gnome



2010/10/24 Dany Veilleux <[email protected]>






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

[email protected]

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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-quebec                         
                  
-- 
Ubuntu-quebec mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-quebec

Répondre à