Une interrogation que j'ai à chaque fois que j'ai besoin de programmer un outil graphique multi-OS : quel langage, quel toolkit utiliser, sachant que l'idéal est de n'avoir rien à installer sur le poste client ?
En plus, comme je suis un peu chiant, je préfère les langages interprétés!
Et vous, quand vous programmez, vous utilisez quoi pour être multi-plaforme ?
# Java ?
Posté par seginus . Évalué à 6.
Mais bon il faut installer la machine virtuelle
Mais qu'entendu par ne rien avoir à installer.
Si tu programmes en qt en gtk, il faudra bien installer les bibliothèques.
Tu pourrais aussi faire du python, tk (je crois) est intégré, mais il faut installer l'interpretteur python.
Voilà en fait, je vois pas trop parce que forcément, il va faloir installer quelque chose (interpreteur, bibliothèque, machine virtuelle...)
[^] # Re: Java ?
Posté par kraman . Évalué à 2.
Testez eclipse linux puis eclipse windows pour vous en rendre compte.
Vraiment dommage.
Niveau gui, SWT tourne tres bien sous windows, c'est relativement leger (packageable avec l'appli, clairement).
SInon, effectivement, le denominateur commun a toutes les plateformes, c'est un ensemble vide, donc faudar toujours installer un truc en plus. Ou utiliser une techno largement repandue (genre Java, par exemple. Et merde, on retombe dans le travers precedent. :( )
bref, le multiplateforme, c'est pas evident.
[^] # Re: Java ?
Posté par golum . Évalué à 3.
http://www.trolltech.com/developer/downloads/qt/qtjambi-tech(...)
[^] # Re: Java ?
Posté par kraman . Évalué à 1.
Ca m'interesse pas mal, je trouve swt encore trop jeune et je suis pas fan du modele choisi (impossible de deriver els widgets de base, ca a tendance a vraiment saouler ca).
a tester quand j'aurais 5 minutes
[^] # Re: Java ?
Posté par golum . Évalué à 2.
http://linuxfr.org/2006/09/01/21276.html
[^] # Re: Java ?
Posté par Larry Cow . Évalué à 2.
[^] # Re: Java ?
Posté par kraman . Évalué à 0.
Qt a deja quelques annees, jambi c'est bindings pour Qt, donc sensiblement la meme api si je ne m'abuse? Donc en gros, la maturite de jambi est celle de qt, modulo pas grand chose, non?
Pour swt, par exemple, il a fallu attendre la version 3 (version actuelle) pour avoir des trucs aussi keuss qu'un spinner (comme un ascenseur, mais avec juste les fleches qui modifie une valeur numerique). C'est dans ce sens que je trouve SWT jeune.
Pas mal d'evenements tres utiles etaient absent aussi en SWT2 et ne sont apparus en partie qu'a la version 3.
Le dragndrop est aussi catastrophique (mais la pour le coup, ils y sont pas grand chose, SWT etant natif et java etant java, faut se fader la moulinette java/natif a la main, ca parait difficile de faie autrement)
[^] # Re: Java ?
Posté par golum . Évalué à 1.
L'api a été remaniée pour la version 3 et la version 4.
T'es pas sous KDE toi pour oser dire un truc pareil :)
SWT, il manque plein de widgets tout simplement parce que au départ c'etait uniquemen la lib d'Eclipse et donc ceratins widgets n'etaent pas forcément necessaires (un peu comme à l'époque de GTK avec Gimp)
Pourquoi Swt progresserait entre chaque version et et Qt stagnerait.
Abandonnes un peu tes préjugés et essayes.
[^] # Re: Java ?
Posté par kraman . Évalué à 2.
va falloir me relire mon canard...
L'api a été remaniée pour la version 3 et la version 4.
ouais, enfin ca reste une api assez vieille, donc mure...
SWT, il manque plein de widgets tout simplement parce que au départ c'etait uniquemen la lib d'Eclipse et donc ceratins widgets n'etaent pas forcément necessaires (un peu comme à l'époque de GTK avec Gimp)
oui, enfin ca change rien au probleme...
Pourquoi Swt progresserait entre chaque version et et Qt stagnerait.
heuuu, j'ai dit ca moi? marrant ca, parce que je le lit pas en tout cas.
Abandonnes un peu tes préjugés et essayes.
hihi.
deja fait (les deux ;-) ).
[^] # Re: Java ?
Posté par golum . Évalué à 2.
Sorti du contexte j'ai eu l'impression que tu critiquais l'inertie plus que tu ne défendais sa maturité.
Et alors t'en penses quoi ?
Tu nous feras bien un petit journal sur le sujet à l'occasion.
[^] # Re: Java ?
Posté par kraman . Évalué à 1.
1) c'est du c++, et le c++ c'est pas fun (desole pour le troll).
2) le code est pas standard.
donc ca me freine enormement.
d'ou mon interet de voir des bindings java.
Maintenant, c'est tout de suite moins interessant en java, vu que l'api de base est deja dans le langage et que donc ca se limite vachement plus vite a la GUI.
[^] # Re: Java ?
Posté par Larry Cow . Évalué à 2.
[^] # Re: Java ?
Posté par nemrod . Évalué à 1.
Elles sont effectivement moins bonnes au niveau toolkit graphique sous linux que sous windows.
Par contre, hors toolkit graphique c'est plutôt idem.
Donc la différence peut ne pas avoir d'importance suivant le type de programme développé ( En gros s'il y a une gui très complexe ou non, voir pas d'interface utilisateur du tout ).
[^] # Re: Java ?
Posté par kraman . Évalué à 0.
non pas que je remette en cause ton discours.
mais bon.
j'ai fait des benchs de servlets, donc absolument pas de gui du tout.
windows/tomcat, windows/was, linux/tomcat et linux/was
en gros :
windows : tomcat was sensiblement meme perfs.
linux : was 1.5 fois plus rapide que tomcat
linux windows : linux was sensiblement meme perfs que windows tomcat/was. linux tomcat atomise par les autres.
perso j'en tire que la jvm est pas bonne.
[^] # Re: Java ?
Posté par nemrod . Évalué à 3.
Serveur J2EE (tomcat, orion, resin, Jrun, Websphere, Jetty t2)
http://www.webperformanceinc.com/library/reports/ServletRepo(...)
Tomcat linux vs Tomcat windows
http://www.webperformanceinc.com/library/reports/windows_vs_(...)
http://www.webperformanceinc.com/library/reports/windows_vs_(...)
Dans tous les cas, la jvm utilisée est celle du bundle (celle venant avec was 5.1, etc..) si présente, sinon jvm utilisé JDK 1.4.2_03
La comparaison tomcat-win et tomcat-linux ne donne pas de gagnant. En gros tomcat sous windows répond un chouilla plus vite mais s'écroule bien plus tôt que tomcat-linux qui lui répond un peu moins vite mais est toujours capable de servir dans un temps raisonnable un nombre d'utilisateurs même proche de sa capactié maximum.
Mais je vous invite à lire les résumés des différents tests qui sont moins réducteurs que le mien.
Cordialement
[^] # Re: Java ?
Posté par lolop (site web personnel) . Évalué à 3.
Mais... faut installer Java (et la bonne version) - et faut bien packager ton soft pour que l'utilisateur n'ait pas à intervenir (classpath bien sûr, mais éventuellement sécurité, signatures & Co).
Sinon, suivant le besoin: un bon gros calcul côté serveur... et un butineur ouebe en face - là, y'a rien à installer sur le poste client, tu peux même faire du "Ouebe 2" avec Javascript et Xmlhttp.
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
[^] # Re: Java ?
Posté par meh (site web personnel) . Évalué à 6.
Et pour Windows, il y a par exemple py2exe qui te permet de créer un .exe 'stand-alone' qui ne nécessitera donc pas l'interpreteur.
Par contre je ne sais pas trop pour les autres OS...
[^] # Re: Java ?
Posté par Mildred (site web personnel) . Évalué à 2.
mais pas de toolkit Gtk ...
[^] # Re: Java ?
Posté par Bruno Ethvignot (site web personnel) . Évalué à 5.
[^] # Re: Java ?
Posté par nemrod . Évalué à 1.
( cf http://www.blackdown.org/java-linux/java2-status/j2se1.5-sta(...) )
Sinon tu peux utiliser gcj ( http://gcc.gnu.org/java/faq.html ), tu supporteras alors quasiment toute les plateformes de gcc (+ ou - cf http://gcc.gnu.org/install/specific.html où sur certaines architectures gcj ne compile pas ).
Bon après, pour que cela tourne, il faut connaitre le plus petit dénominateur commun entre les différentes jvm et ne pas coder en utilisant les spécificités d'une plateforme.
Le côté, je compile et j'utilise de partout et un peu usurpé il est vrai. Néanmoins le nombre de plateformes accessibles est assez élevé avec ce type de solution (je compile une fois et je distribue un bytecode utilisable sans me soucier de la cible).
# python+PyQt4
Posté par schyzomarijks . Évalué à 7.
Certes, il y a quelques efforts à faire pour faire du python multi-plateforme (éviter les modules monoplateforme, faire attention aux séparateurs des chemins) mais c'est très acceptable.
et QDesigner permet de concevoir facilement ces interfaces.
[^] # Re: python+PyQt4
Posté par Frédéric COIFFIER . Évalué à 4.
Certes, faut faire du C++ à la sauce Qt4 et après, il suffit de zipper les quelques .dll avec pour Windows (sous Linux, je ne sais pas si Qt4 est maintenant distribué par la plupart des distributions).
C'est vrai que j'oublie le gros inconvénient : il faut recompiler sur chaque plateforme...
[^] # Re: python+PyQt4
Posté par Adrien Bourdet . Évalué à 3.
J'ai commencé sous linux. Pour des projets avec des potes qui ont windows, ça fonctionne aussi. Et maintenant je l'utilise sous MacOSX.
Qt est à mon avis un très bon toolkit graphique, très bien fait, bien documenté, etc.
Et puis la souplesse de python (et d'autres langages de script) est vraiment agréable.
Bon j'aime bien python, donc je peux toujours me rappatrier sur les bindings GTK+ ou wxWidgets.
Pour faire des applis simplistes, tkInter me convient très bien.
Si je devais faire du multiplateforme graphique en C++, je me tournerai également vers Qt
# Smalltalk ...
Posté par Miguel Moquillon (site web personnel) . Évalué à 3.
Smalltalk répond à tes besoins : portable, performant (vis à vis de Java), et surtout productif. La seule chose à installer chez le client est la VM, mais tu peux le faire avec ton programme.
Par contre, si tu veux faire du développement Web, alors regarde du côté de Seaside, c'est un framework Smalltalk orienté composant, assez en avance, et très efficace.
# Peut-être XUL ?
Posté par Mickaël Rémond (site web personnel) . Évalué à 7.
Mickaël
# XUL
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 3.
http://xulfr.org
Sinon, tu cherches un truc qui n'a pas besoin de s'installer sur le poste client. Mais là tu en demande trop. Je dirais même, tu rêve. Que ce soit python, java, XUL ou autre, il faut toujours installer quelque chose sur le poste client : une JVM, un interpreteur, ou pour XUL, ce sera firefox ou xulrunner par exemple, en plus de l'application elle même.
Ou alors faut que tu t'orientes vers du HTML pure, une appli web pure (avec des toolkits comme dojo, yahoo ...). Ou si tu sais que les postes en question possèdent tous un firefox, faire du XUL "distant". (appli web dont l'interface est en xul et non en html).
[^] # Re: XUL
Posté par Claude SIMON (site web personnel) . Évalué à 1.
Pour nous émanciper des géants du numérique : Zelbinium !
# trop vague
Posté par fredix . Évalué à 5.
Si tu veux dire que tu souhaites développer une interface native en installant le moins de chose possible, alors il existe ruby/GTK+, ruby/Qt, python/GTK+, PythonQt, ...
Ensuite le côté multi-plateforme, est-ce Window, Linux ou Windows, Linux Mac ? si c'est le trio alors tu peux éliminer les solutions en GTK+ qui n'est pas natif sur Mac pour l'instant. Reste les solutions en Qt et WXWidgets.
Dans tous les cas il faut bien être concient que développer un logiciel multiplateforme revient à sacrifier un grand nombre de fonctionnalités offerte par le desktop. Personnellement je préfère de loin que mon logiciel soit bien intégré à mon desktop et supporte toutes ses fonctionnalités ainsi que celles de l'OS sous-jacent. Le multi-plateforme c'est être moyen partout et correctement intégré nul part.
# Illusion d'optique...
Posté par Pol . Évalué à 9.
J'ai eu peur lol !
[^] # Re: Illusion d'optique...
Posté par B16F4RV4RD1N . Évalué à 6.
(moi aussi j'ai eu cette illusion d'optique...)
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
# juste comme ça...
Posté par Jean-Georges de La Blatte . Évalué à 2.
A part ça moi le code j'y connais rien mis à part un peu de basic dans ma jeunesse et changer la couleur de mon texte en html donc j'assume le caractère débile de ma question.
[^] # Re: juste comme ça...
Posté par Frédéric COIFFIER . Évalué à 3.
Après s'il y a des développeurs meilleurs que ceux de Sun [certains doivent croire que Sun fait exprès de ralentir Java sous Linux], il est peut-être possible d'améliorer les choses sous Linux (mais la libération de StarOffice n'a pas fait de miracles de ce point de vue pour OpenOffice).
[^] # Re: juste comme ça...
Posté par Anonyme . Évalué à 1.
Ha oui, effectivement, il est prevu que la machine virtuelle de Sun soit très prochainement libérée, le problème c'est que ca fait de nombreuses années que c'est comme ca. Mais ptet qu'un jour, à l'occasion de la sortie de Duke Nukem Forever, ils se décideront ...
[^] # Re: juste comme ça...
Posté par alice . Évalué à 2.
[^] # Re: juste comme ça...
Posté par Pinaraf . Évalué à 4.
1- Nous et nos erreurs de programmation (je suis un contributeur du projet, je précise)... Exemple : on provoque de beaux memleak qui nous font garder en mémoire beaucoup de textures (c'est corrigé/en cours de correction dans le CVS là)
2- Java3D, mais ça s'améliore
Les différences de performances que l'on peut obtenir en corrigeant notre code montrent clairement que c'est pas la faute à Java...
# c++ + wxwidgets
Posté par Troy McClure (site web personnel) . Évalué à 2.
[^] # Re: c++ + wxwidgets
Posté par ecyrbe . Évalué à 5.
ça c'est de l'objectivité! Car tout le monde aujourd'hui s'accorde pour pointer du doigt les incohérences du langage. Je programme principalement en c/c++ dans mon boulot, et je suis loin d'arriver à la conclusion que le c++ soit élégant ou robuste. Après 10 ans de programmation intensive dans ce langage, j'en apprend encore tous les jours, donc d'accord sur le fait qu'il soit puissant (trop?)...
Quant à dire si c'est le meilleur, ça dépend, comme toujours de ton besoin...dans le cas du monsieur ici présent, je ne pense pas...
wxwidgets (le meilleur tookit graphique)
Là je ne peux qu'être d'accord, vu le nombre de fois ou il m'a sauvé la mise ce toolkit... comme quoi l'objectivité, tout ça... :D
[^] # Re: c++ + wxwidgets
Posté par Dring . Évalué à 4.
Sinon, tu peux tenter le FreePascal.
[^] # freepascal
Posté par locke . Évalué à 2.
[^] # Re: c++ + wxwidgets
Posté par PenPen . Évalué à 1.
[^] # Re: c++ + wxwidgets
Posté par Mildred (site web personnel) . Évalué à 2.
Sinon, je confirme que Lua est un très bon langage, simple (très simple) rapide, léger ... toute les qualités. Le seul problème c'est qu'on a pas de batteries included comme en python, mais avec wxlua ca doit etre différent.
Le manuel du langage + l'API C tient sur une seulle page HTML de 226KB
http://lua.org
http://wxlua.sf.net
[^] # Re: c++ + wxwidgets
Posté par Guillaume Denry (site web personnel) . Évalué à 2.
Ne goûte jamais à Qt(4), tu pourrais bien changer d'avis.
[^] # Re: c++ + wxwidgets
Posté par Zenitram (site web personnel) . Évalué à 1.
C++ est le plus multi-plate-forme des languages modernes (sinon il y a C, mais il lui manque l'objet...), certes il n'est pas dès plus cohérant mais au moins il est normé, tout ca...
et WxWidget est aussi multi-plate-forme est surtout multi-compilo (essayez QT sous un compilo pas trop habituel, qu'on rigole...)
Le tout pour des executable qu'on n'a pas a installer etc... Juste un fichier sans dépendances.
Oui, c'est le couple que j'utilise et j'en suis content :)
Par contre c'est compilé (faut choisir entre compilé ou installer quelque chose, un language interprété doit être interprété, donc l'interpréteur, qui lui est compilé, doit être installé...)
[^] # Re: c++ + wxwidgets
Posté par Guillaume Denry (site web personnel) . Évalué à 1.
Ouais enfin, je persiste à penser qu'ils ne boxent pas vraiment dans la même catégorie, surtout depuis Qt4.
Et j'ai pratiqué les deux.
Rien que la doc de Qt, ça fout sur le cul.
Tu prends Designer, pareil. Et ce qu'ils ont fait pour Designer4 avec leur système de multi héritage Widget/Ui est tout bonnement extra.
Encore un peu d'effort et on retrouvera la simplicité de Delphi, sans ses défauts.
# Précisions
Posté par Matthieu . Évalué à 2.
Le problème est que ma formation de développeur est lointaine, donc j'ai oublié tous les langages compilés, je n'utilises en majorité que PHP et des langages de script.
Par contre, les réponses que vous donnez ne doivent pas être orientés à mon projet, mais devrait pouvoir aider d'autres personnes que moi. Si vous avez des retours d'expériences, n'hésitez pas à donner des liens vers vos projets, vers des tutoriels...
[^] # Re: Précisions
Posté par Mildred (site web personnel) . Évalué à 2.
Je n'aime pas trop php bien que je conaisse bien ce langage, mais ça se fait
http://gtk.php.net/
[^] # Re: Précisions
Posté par Matthieu . Évalué à 2.
# Python+GTK
Posté par boris . Évalué à 1.
Sous OSX, je ne sais pas, j'ai jamais essayé, mais si quelqu'un a une solution je suis preneur :)
[^] # Re: Python+GTK
Posté par Troy McClure (site web personnel) . Évalué à 3.
[^] # Re: Python+GTK
Posté par Mildred (site web personnel) . Évalué à 2.
http://linuxfr.org/2005/11/23/19941.html
[^] # Re: Python+GTK
Posté par Zenitram (site web personnel) . Évalué à 2.
Et bravo aussi pour "ne rien installer", ca isntalle plein de chose ta solution non?
[^] # Re: Python+GTK
Posté par blackshack . Évalué à 1.
Donc cela n'installe rien sur le dd a part un +/- grosse archive auto-exécutable...
Pour Ruby (peut-être aussi pour Python je ne saurais le dire mais je pense), tu as un type d'archive auto-executable un peu intermédiaire où tont programme et des modules/libs peuvent être rajouté, mais qui n'embarque par l'interpréteur, et les libs standards/systèmes. Moins gros donc en définitive (plus portable aussi car lorsque tu embarque l'interpréteur ou des modules/libs compilés tu es dépendant du système cible), mais qui implique une installation plus ou moins minimale du langage choisi....
[^] # Re: Python+GTK
Posté par boris . Évalué à 1.
Le truc s'appelle py2exe, au fait, si jamais ça intéresse quelqu'un.
L'avantage est de ne pas avoir à installer gtk+, python & co. Tout est empaqueté. Evidemment, on passe de 250Ko à un petit Mo à télécharger. Mais comparé à demander à un béotien d'installer un environnement python + les bibliothèques GTK + pygtk + machin.. c'est un moindre mal, il me semble.
Et seuls les modules vraiment utilisés sont inclus, il n'y a donc pas beaucoup de gaspillage.
# Et Rebol ?
Posté par brazz . Évalué à 0.
http://rebolzone.free.fr/rbview.php
et bien sur
http://www.rebol.com
# Mono et Php-Gtk
Posté par Denis Szalkowski . Évalué à 1.
Concernant Java, la conosmmation mémoire et la vitesse d'exécution m'ont toujours rebuté.
Mono, avec MonoDevelop, est un excellent outil Rad qui saura répondre à vos besoins. Je suis avec curiosité également l'évolution de Php-Gtk.
[^] # Re: Mono et Php-Gtk
Posté par Pinaraf . Évalué à 3.
[^] # Re: Mono et Php-Gtk
Posté par seginus . Évalué à 5.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.