Je programme un peu sous Linux en c/c++, et comme j'en ai un peu marre de me limiter à des interfaces en ncurses (sympa le machin cela dit :-)), je suis en train de regarder les outils qui existent pour XWindow.
Je me dit qu'un IDE ca serait cool, un machin pour faire les interfaces à la souris, ca serait mieux, ca n'est pas super gratifiant à se coltiner ca :)
De plus, si la lib graphique permet de faire du cross plateforme windows/linux (avec le meme source) ca serait un plus.
Amis développeurs de clickodromes, qu'utilisez-vous ?
Voici déjà les outils dont j'ai entendu parler :
- kdevelop : j'ai essayé. Ca met trois plombes à compiler une fenetre avec "hello world", ca m'a l'air super lourd et demandeur de ressources comme pas deux, donc j'ai pas trop aimé et ne me donne pas vraiment envie de développer avec la lib Qt.
lazarus : j'aime assez bien, mais il encore en plein developpement donc pas vraiment utilisable pour des projets concrets je pense.
machins java : depuis les projets scolaires, mon docteur m'a formellement déconseillé ce langage pour ma santé :-)
Ceux-ci, j'en ai juste entendu parler, je ne sais pas ce qu'ils valent :
vdkbuilder
Anjuta/glade
fltk
Merci à ceux ou celles qui pourront me guider dans mon choix :-)
# Re: Les outils pour développer
Posté par Christophe Fergeau . Évalué à 3.
Si tu veux faire du cross platform, qt et gtk ca marche (qt marche probablement un peu mieux), garde en tête que tu peux pas faire un logiciel libre cross platform avec qt...
[^] # Re: Les outils pour développer
Posté par Nicolas Boulay (site web personnel) . Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Les outils pour développer
Posté par Cyberdivad . Évalué à 1.
[^] # Re: Les outils pour développer
Posté par blackshack . Évalué à 1.
[^] # Re: Les outils pour développer
Posté par Christophe Fergeau . Évalué à 1.
# Re: Les outils pour développer
Posté par gerald dumas . Évalué à 1.
ANJUTA
GLADE
Le tout avec les librairies GTK. Elles fournissent une librairie d'outils standards ( qui n'ont rien à voir avec Xwindow) , la GLIB. On y trouve des outils de traitement de caractères, gestions des listes chaînées, des arbres (binaires) et d'autres encore. Ensuite il y a la GDK qui fourni des fonctions juste au dessus de la Xlib (accés intéressant pour un affichage graphique type dessin) et enfin la librairie GTK qui est au dessus des deux précédentes, qui comporte les fenetrages au niveau utilisés pour la création d'interface proprement dite.
Glade est un IDE de création d'interface orienté GTK.
ANJUTA est un IDE de programmation C,C++ et surement d'autres langages.
Bien sûr, il existe on nombre d'autres librairies, telle que la QT3 que tu cite aussi, mais je ne les connais pas. D'autres se feront un plaisir d'argumenter.
[^] # Re: Les outils pour développer
Posté par Cyberdivad . Évalué à 1.
Ah, je m'apercois que j'ai oublié de préciser que mon portable tourne en 800x600, donc pas question d'outils qui ne sont pas parfaitement compliants avec cette résolution :-)
[^] # Re: Les outils pour développer
Posté par gerald dumas . Évalué à 1.
Je suis donc revenu au bon vieux traitement de texte. J'utilise kate ( qui bogue de temps en temps : la souris disparaît ! ) qui permet d'avoir plusieurs fichiers ouverts en même temps et un terminal qui permet de lancer les compils. J'ai écris un Makefiles rudimentaire pour compiler mon appli et voila.
Maintenant, le temps de compil entre Anjuta et un make direct est sensiblement identique ( je travaille actuellement sur un portable aussi ).
# Re: Les outils pour développer
Posté par blackshack . Évalué à 1.
Kate (avec coloration syntaxique) + plugin console activité
# Re: Les outils pour développer
Posté par Florent MANENS . Évalué à 1.
La compilation d'applications Qt est très longue c'est vrai (ça l'est généralement pour les applications c++).
Si tu veux essayer Python, il y a Boa, c'est un IDE qui permet de faire des interfaces graphiques à la souris avec la librairie wxWindow (portable).
Mais sincérement, je te conseil de te plonger plus longuement dans la librairie Qt, avec son IDE Qtdesigner, c'est vraiment très puissant, propre, bien documenté, parfait si tu aimes le C++, l'héritage de classes, etc
Pour faire un version portable, il faudra utiliser Qt 2.x seulement car la version 3.x n'existe pas en version libre sous windows actuellement.
Une fois que tu aura découvert la facilité d'utilisation de Qt, tu oubliera la lenteur de la compilation.
Sinon, pour améliorer les temps de compilation, essayes ccache.
[^] # Re: Les outils pour développer
Posté par Cyberdivad . Évalué à 1.
Attendre plus d'une minute pour compiler une malheureuse fenetre vide, j'ai trouvé ca un peu abuser. Qu'est-ce que ca va etre avec des applis de taille conséquentes ? je sais bien que toutes les parties d'un projet ne sont recompilées qu'en cas de modification, mais ca m'inquiètes quand meme.
Merci cependant pour tes conseils :-) Je vais me pencher également sur le cas de python/boa (on peut faire des binaires avec python, je veux dire que l'utilisateur n'a pas forcément besoin de python installé ?)
[^] # Re: Les outils pour développer
Posté par Troy McClure (site web personnel) . Évalué à 2.
tu peux compter une bonne grosse minute par fichier, pour des fichiers de ~1000 lignes
et je suis bien d'accord, c'est extrêmement casse-couille
[^] # Re: Les outils pour développer
Posté par Superted . Évalué à 1.
[^] # Re: Les outils pour développer
Posté par Cyberdivad . Évalué à 1.
Bon, je donne quand même une chance à kdevelop, et fais quelques essais avec. J'ai pas vraiment de bol ceci dit, puisque QtDesigner se bloque systématiquement au lancement (cpu à 100%, ne semble rien faire) si le fichier ~/.qt/qt_designerrc existe (et comme il est créé automatiquement à chaque lancement, ca freeze une fois sur deux).
Vous remarquerez que je reste malgré tout patient et continue de laisser sa chance à kdevelop&cie :-)
[^] # Re: Les outils pour développer
Posté par Cyberdivad . Évalué à 1.
[^] # Re: Les outils pour développer
Posté par Pascal Audoux . Évalué à 1.
Tu laisses entre que Qt 2.x est disponible en version libre sous windows ce qui est totalement faux. Il existe une version gratuite c'est vrai mais c'est tout.
D'ailleurs, le fait que la version windows de Qt 3.x ne soit pas distribué sous license libre n'empêche pas de compiler avec la version QPL et de distribuer la version ainsi générée, ainsi que ses sources... c'est juste que tout un chacun ne pourra pas le compiler lui-meme.
Pour revenir à Qt, c'est une librairie C++ que je trouve pour ma part extremement bien faite et facile d'utilisation, avec ou sans QtDesigner d'ailleurs.
Concernant le temps de compilation, cela ne m'a jamais choqué, je pense que ce n'est pas plus ou moins long qu'une autre bibliothèque C++.
# Re: Les outils pour développer
Posté par Pascal Audoux . Évalué à 3.
(bien sur selon le type d'applications que tu veux realiser, mon experience sera +/- pertinente...)
J'utilise frequemment Qt que ce soit professionnellement ou pour mes logiciels (libres) perso. A la fois sous windows et sous linux.
Je tiens à préciser que j'adore le C++ donc ca conditionne peut-être mon choix par rapport à des bibliothèques C, java ou même "C objet qui n'est pas du C++" :-).
Je ne suis pas un fan de RAD (ce que tu appelles "clickodrome" :-) ) mais j'utilise parfois QtDesigner que je trouve réellement très performant (en comparaison de ce que propose Visual 6 par exemple), mais je dis pas qu'il y a pas mieux (de toute facon, je suis pas fan et l'avantage de Qt c'est que ce n'est pas très coûteux de coder une interface "à la main", mais c'est aussi une question d'habitude).
Je n'ai jamais utilise KDevelop, j'en ai entendu de bons echos, mais sans reellement utiliser personnellement. Un de ses avantage est de servir d'environement de developpement... mais j'utilise qmake pour generer mes Makefile et ca simplifie tout aussi bien ma vie. Comme quelqu'un l'a recommande plus haut, utiliser Kate comme editeur et lancer des make dans la console marche tres bien :)
Concernant la portabilite windows/linux elle est quasi parfaite, il est tres rare d'avoir plus qu'a re-compiler (en fait le portage joue plus sur les differences entre les compilateurs utilises sur le code ecrit et non pas sur l'utilisation de Qt).
Mais le principal avantage de Qt est surtout que c'est une bibliothèque fabuleuse! C'est du c++ propre, les API sont bien concues, les developpeurs sont manifestement doues, la documentation est excellente, les evolutions sont regulieres et coherentes et il y a une grande communaute autour... Maintenant, je ne force personne a utiliser Qt :-)) Mais pour realiser des applications performantes rapidement et proprement je trouve que c'est un bon choix (si tu aimes le c++, bien sur).
A noter que si tu preferes le python, tu peux utiliser le binding pyQt :-)
En tout cas, il faut bien distinguer le fait d'utiliser/aimer KDevelopp et le fait d'utiliser/aimer Qt, ce n'est pas du tout la même chose!
[^] # Re: Les outils pour développer
Posté par Christophe Fergeau . Évalué à 1.
> C'est du c++ propre
mais il faut quand meme utiliser un precompilateur, et ca réinvente la roue au lieu d'utiliser la stl :)
Y a aussi des bindings python et c++ pour gtk+ (qui s'intègrent bien avec la stl eux :)
[^] # Re: Les outils pour développer
Posté par Pascal Audoux . Évalué à 1.
"et d'abord Qt c'est pas libre il faut donc utiliser gtk+ qui est totalement libre"
afin de continuer dans les affirmations erronees trollesques.
A noter a ce sujet que je considere qu'une bibliotheque GPL c'est mieux (dans le sens "plus libre") qu'une bibliotheque LGPL... mais c'est une question de gout, c'est sur :-)
[^] # Re: Les outils pour développer
Posté par Christophe Fergeau . Évalué à 2.
Je préfère effectivement Gtk+ à Qt, mais si tu lis mes autres posts dans ce thread, tu verras que je défends aussi un peu Qt, mon but c'est pas de faire utiliser Gtk+ à tout prix, mais plutôt de donner diverses infos qui peuvent aider la personne ayant posté ce journal à faire son choix. Encore une fois si y a des trucs faux dans ce que j'ai dit, merci de me corriger plutôt que de laisser entendre que je dis n'importe quoi sans te justifier.
Et mes remarques à la con sur Qt, c'était plus en réaction au post d'avant du type « Moi je suis un informaticien professionnel et un pro du c++, et je peux vous dire que Qt c'est parfait de chez parfait ». C'était une réaction vaguement trollesque pour nuancer un peu ton propos
[^] # Re: Les outils pour développer
Posté par Pascal Audoux . Évalué à 4.
Etant donne que tu ne te justifiait pas non plus et que tu mettais pleins de smiley, je pensais pouvoir en faire autant sans paraitre impoli... Bon, je vais donc tenter de mieux m'expliquer alors.
En particulier, je ne t'accuse aucunement d'attaquer Qt.
Concernant Windows (ca reprend un post que j'ai fait un peu plus haut dans ce journal mais je vais tacher de le preciser), il est vrai que la version Qt pour Windows n'est pas disponible en GPL.
Je tiens d'ailleurs à nouveau à préciser que la version "non commerciale" de qt 2.3.2 sous windows n'est pas une version libre (pour plus de détail, le mieux est de lire la license sur le site de Trolltech. Pour le reste, il est tout à fait possible de faire du free software avec les versions windows de Qt, c'est très clairement dit par Trolltech. Il n'empêche qu'il faut acheter la license windows et que les sources de la version windows de Qt (pas du logiciel) ne doivent pas être distribuables. Je suis d'accord que tout le monde ne peut pas se payer ce genre de license mais on peut éventuellement trouver quelqu'un qui a cette license et qui accepte de vous le faire (vu que cela ne nécessite (quasiment) pas de changement par rapport au code fonctionnant sous unix. Je n'ai pas dit que Qt était GPL sous Windows mais il permet du développement de free software (c'est ce que j'ai dit).
J'ai peut-être été un peu maladroit dans mon premier message si tu y as compris que je disais « Moi je suis un informaticien professionnel et un pro du c++, et je peux vous dire que Qt c'est parfait de chez parfait »... je voulais simplement mettre en garde qu'il fallait juger mes propos dans un contexte "developpement en C++" parceque l'auteur du journal ne paraissaît pas être fixé sur le choix de son langage de prédilection et je sais très bien par expérience que si sa passion c'est de développer en C ou en Java ou autre, tous les avantages que pourra présenter Qt ne seront d'aucun intérêt pour lui.
Concernant l'emploi d'un précompilateur dans Qt, Trolltech s'est déjà longuement exprimé à ce sujet et a justifié ses choix. En très gros, les arguments de Trolltech sont qu'il est vrai que cela impose d'utiliser une macro "Q_OBJECT" à mettre dans les .h et à utiliser moc. Concernant l'usage d'une macro, c'est en effet pas très propre mais bon, c'est la seule à utiliser (je ne connais pas gtk+ mais il m'avait semblé comprendre qu'il fallait aussi utiliser des macros et même plus qu'une ?). La justification du précompilateur est que cela permet d'écrire un code simple et lisible et évite l'écriture d'un code fastidieux et répétitif pour la gestion des signaux/slots. Maintenant quand je dis que le code de Qt et ses API sont en c++ propre et bien maîtrisé, il faut voir l'ensemble de la bibliothèque et de son code et aller plus loin que l'emploi de moc, je parle de l'utilisation réelle de la bibliothèque pour un développeur : cohérence de l'ensemble, fonctionnalités offertes, facon de l'employer (pas de bidouilles pour utiliser telle ou telle classe ou pas de risque de plantage si on hérite d'une classe sans surdéfinir telle autre méthode, pas d'utilisation abusives de macros, etc... bref une maitrise du c++ correcte et non pas approximative comme cela existe dans d'autres bibliotheques). Il est à noter que le précompilateur est parfaitement integre dans les outils de dev et que generalement on n'a pas a s'en préoccupper (notamment grace a qmake mais il existe d'autres moyens). Ce que je reproche a la phrase "il faut quand meme utiliser un precompilateur", c'est que souvent c'est l'argument simpliste utilise par certains comment argument supreme pour denigrer Qt en disant que c'est du coup tres sale a utiliser ce qui n'est pas le cas a mon avis.
Et enfin (desole je suis long quand je donne des explications), concernant "ca réinvente la roue au lieu d'utiliser la stl", Trolltech a toujours ete tres clair a ce sujet : ils fournissaient des classes "stl-like" afin que les personnes travaillant avec des compilateurs c++ n'ayant pas la stl ne soient pas handicapees (Trolltech a commence en 1994 ne l'oublions pas et ils vivent de la vente de leur bibliotheque a des entreprises donc je suppose qu'il y avait au moins a l'epoque un interet pour eux a le faire). Mais Qt fonctionne tres bien avec la stl, les classes sont memes adaptees pour (par exemple les algorithmes de la stl sont applicables aux classes Qt, il y a des conversions, etc...) et c'est donc totalement compatibles (accessoirement je trouve qu'un cerains nombres de classes qt sont plus pratiques (et plus de fonctionnalites))
Voila, voila :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.