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

Répondre à