Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.
<HORSSUJET>
Un exemple tout bête concernant la logique arborescente : j'ai du développer un "éditeur hypertexte" où l'utilisateur peut librement convoquer et spatialiser des éléments au sein d'un espace bidimensionnel. Chaque élément peut être graphiquement connecté aux autres (comme dans un outil de mind mapping ou un visualisateur de graphs).
Puisque l'on a une surface sur laquelle reposent des objets graphiques qui sont au même niveau "hiérarchique", il n'y a alors qu'un seul niveau de profondeur. Donc une syntaxe XML n'apporte rien (un noeud racine, avec tout les éléments enfants au même niveau... autant faire une liste programmatique de "monComposantEspace.add(composantElementXX).
De plus, puisque l'on ne peut pas savoir a priori le nombre d'éléments présents (l'utilisateur ajoute et supprime à discrétion des noeuds, là encore, comme dans un éditeur de mind maps), il n'y tout bonnement rien à "déclarer" (le composant graphique global représenté en XML sera donc un truc du genre <espaceLibre att1="chou" att2="navet" />).
Une autre remarque qui me vient : dans le cas d'une application radicalement "dockable&redockable" (Eclipse, par exemple), la structuration arborescente des zones ne cesse de changer, donc on ne peut une bonne fois pour toute la déclarer dans un arbre XML. Là encore, l'apport cognitif pour le développeur d'une représentation arborescente est limitée.
A moins d'avoir fait une grave erreur de raisonnement, il me semble que dans ces cas limites d'IHM fortement reconfigurables et au contenu dynamique, en passer par du tout programmatique est nécessaire.
</HORSSUJET>
<HORS SUJET>
Mais selon toi quelle autre modèle le représente ?
Ou si, comme tu sembles le suggérer (en passer par du tout programmatique est nécessaire, dis-tu), dans l'exemple des fenêtres dockables, qui invalide une arborescence par les panneaux et sous panneaux dans les fenêtres, peut être une autre arborescence serait correcte ? Qu'une arborescence soit pas pertinente ne signifie pas que toutes les arborescences ne le serait pas.
Qu'en penses-tu ?
</HORS SUJET>
(de toutes façons je m'en fiche de mono).
Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.
C'est mieux comme ça : http://www.ohloh.net/p
Results 0 - 10 of 306,101.
La plupart des applications écrite pour Mono utilisent GTK#, ce qui les rends totalement transparente pour l'utilisateur de Gnome par rapport à une autre application native, avec Java et swing c'est autre chose ...
Je ne connais pas grand chose à Java, mais mon experience d'utilisateur sur Linux ne me donne sérieusement pas envie de me lancer dans ce language pour créer des applications bien intégrées dans cet OS.
Il suffit de voir Limewire, c'est tout simplement incohérent (fond de la bonne couleur sur la fenêtre de préférence, mais pas sur la fenêtre de sélection de fichier ), "buggé" (des boutons sont cachés sur certaines fenêtre), ...
D'ailleurs ils ont même dû jouer avec des thèmes et des boutons persos sur Limewire pour avoir un style sympathique sur l'ensemble des OS tellement Swing est moche sur Linux.
Les applis Java sur Windows sont bien intégrées (je pense) mais pourquoi c'est différent sur linux ? C'est vraiment pas terrible pour un framework qui se veut totalement multiplateforme ...
Maintenant si un jour Sun/Oracle commence à améliorer Swing sur Linux, je veux bien y aller, mais là je reste avec Mono + Gtk, qui me donne un meilleur rendu sur Windows que ce que Swing me donne sur Linux. Swing devrait suivre l'exemple de QT4 qui est vraiment très joli sur l'ensemble des principaux OS du marché.
Il y existe aussi le binding de Gtk sur Java, mais est-il vraiment supporté correctement (GTK# est tout a fait supporté par Novell, sur Linux, OS X et Windows) ?
Pas étonnant que Mono dépasse Java sur Linux, il est fait pour cet OS.
[HS]
Qu'en est il de l'apparence de Swing sur OS X ?
[/HS]
EDIT: Les WPF ne sont pas prévus dans les prochaines versions de Mono. Pour la définition d'interface avec XML, on a Glade/GTKBuilder avec GTK.
Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub
bon je vais également troller, mais qui utilise des applications en entreprise développés sous linux comme application desktop ? je veux des noms
Moi et ma société, avec ca > http://puzzle-gis.codehaus.org/snapshots/puzzle11.jpg
Toute notre boite est sous linux, et on se fait nos propres outils en Java ET en Swing ET c'est parfaitement intégré dans le Look de l'OS.
C'est pas bientot fini vos préjugé anti-swing. allez troller ailleurs.
Systèmes d'Informations Géographiques
- Projets : Unlicense.science - Apache.SIS
Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons
C'est pas du troll, on constate juste que les applications en Java sont généralement moins bien intégrées.
Par contre je suis vraiment intrigué par la façon dont vous faites pour avoir un tel L&F avec Swing . Vous utilisez un theme spécial, c'est la JRE, ou l'OpenJRE ???
(j'y connais rien à Java, mais si c'est aussi bon, je veux bien m'y lancer).
Chez moi, une appli Java ca ressemblerais plus à ca :
Et avec un truc comme Human, Clearlook ou Dust ca le fait pas trop
Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub
Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub
L'apparence que tu vois sur cette capture est le Look&Feel Nimbus. je l'ai volontairement utilisé sur cette capture avec un parametre supplémentaire au démarrage de l'application.
Je confirme, tu ne connais visiblement pas assez Java.en effet, tu t'y connais pas en java... faudrait donc arrêter de troller.... quand on maitrise pas le domaine...
Swing est dit plus lent que AWT ou SWT ou les autres gtk et compagnie pour la simple raison que c'est une surcouche indépendente de l'OS. Tout est déssiné avec Java2D est n'a rien a voir avec les composants natif. Swing adapte le Look&Feel au theme du systeme quand cela est possible, depuis la 1.5 le resultat est tres correct. Et si on prend la derniere version de netbeans (6.7) on a aucune différence entre le theme natif et swing aussi bien sur win que linux ou mac.
Ce que tu semble considérer comme une faiblesse, est pour un moi un veritable avantage car j'arrive a faire mes propres composants sur-mesure pour mes applications comme la boussole en haut a gauche de la capture d'ecran. je sais que je peux les styler a l'extreme pour obtenir différent effets :
- http://img41.imageshack.us/img41/7346/capturemapfx1.jpg
- http://files.getwebb.org/index.php?m...ew&id=cre66hrk
- http://puzzle-gis.codehaus.org/snapshots/puzzle11.jpg
Je crois qu'on fait fausse route a vouloir toujours coller au theme natif. Si on regarde bien, il y a de plus en plus d'application qui s'affranchisse de cette contrainte : tous les jeux videos, l'editeur 3D Blender, les sites web, les RIA , le navigateur chrome et surement d'autres que je ne connais pas. Ce n'est plus au systeme de dicter l'ergonomie de l'application. C'est l'application qui choisi son ergonomie.
Systèmes d'Informations Géographiques
- Projets : Unlicense.science - Apache.SIS
Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons
Bonne nouvelle
On sait le faire également avec GTKCe que tu semble considérer comme une faiblesse, est pour un moi un veritable avantage car j'arrive a faire mes propres composants sur-mesure pour mes applications comme la boussole en haut a gauche de la capture d'ecran. je sais que je peux les styler a l'extreme pour obtenir différent effets :
- http://img41.imageshack.us/img41/7346/capturemapfx1.jpg
- http://files.getwebb.org/index.php?m...ew&id=cre66hrk
- http://puzzle-gis.codehaus.org/snapshots/puzzle11.jpg
Ca dépends des points de vue ...Je crois qu'on fait fausse route a vouloir toujours coller au theme natif. Si on regarde bien, il y a de plus en plus d'application qui s'affranchisse de cette contrainte : tous les jeux videos, l'editeur 3D Blender, les sites web, les RIA , le navigateur chrome et surement d'autres que je ne connais pas. Ce n'est plus au systeme de dicter l'ergonomie de l'application. C'est l'application qui choisi son ergonomie.
Fedora 12 x64 (laptop) - OpenSuSe 11.2 (desktop)
Hébergeur d'images et de fichiers (< 75Mio) gratuit et sans pub
Ce dont on a besoin c'est une syntaxe "hierarchique". Il est vrai que le concept d'encapsulation de l'Objet permet d'avoir cette notion de hierarchie. Mais a-t-on vraiment besoin de l'héritage et le polymorphisme pour définir une IHM ? Avez vous déjà réussi a spécifier une IHM en UML ?
Il ne s'agit pas de "coller" au thème natif par mimétisme. Il s'agit d'utiliser le vrai thème natif. Sinon ce n'est qu'une course entre les thèmes Swing et les thèmes de l'OS, et je ne parle meme pas des thèmes perso téléchargeables par millier.
Et il n'y a pas uniquement le problème de la charte graphique (couleur, formes), mais aussi celui du comportement : widget/gadget/plasmoid, systray/dock, notifications visuelles/sonores, interactions clavier/souris/pad/vocale, services de l'OS (correction ortho, multimedia, connectivité, ...).
Java a fait le choix de la portabilité en prenant comme solution l'implémentation de couches d'abstraction pour tout ce qui concerne l'OS. Avantage : on a accès aux mêmes fonctions sur tous les OS. Inconvénient : ces fonctions sont un socle "minimum" commun à tous les OS.
Si on veut faire une application qui utilise le maximum du potentiel d'un OS, alors Swing n'est pas vraiment la solution idéale, a moins de ré-implémenter les fonctions en Java ou en faisant des appels natifs (JNI).
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
<HORSSUJET theme="syntaxe IHM">
Une IHM déclarée dans un arbre XML représente un état "déclaré", "figé" de celle-ci. Donc oui, tu peux très bien déclarer l'état initial de ton appli docakable de la sorte, mais cette syntaxe ne te dira rien des possibilités de reconfiguration des fenêtres les unes par rapport aux autres. Quelle autre arborescence pourrait être correcte ? Aucune, je pense, chacune d'entre elles représenterait _une_ configuration de l'appli à un moment donnée, mais le principe de redockage dans toute sa dynamique serait manqué.Ou si, comme tu sembles le suggérer (en passer par du tout programmatique est nécessaire, dis-tu), dans l'exemple des fenêtres dockables, qui invalide une arborescence par les panneaux et sous panneaux dans les fenêtres, peut être une autre arborescence serait correcte ? Qu'une arborescence soit pas pertinente ne signifie pas que toutes les arborescences ne le serait pas.
Ta question "quel autre modèle ?" est passionnante. Et complexe. Quelle forme syntaxique pourrait représenter quelque chose qui relève de l'arborescence dynamique ? Peut-être une sorte de graph ? Un réseau sur lequel seraient indiqués par des arcs les reconfigurations possibles des composants ? (le graph n'est pas arborescent). Ben voilà une belle question de sujet de thèse en IHM...
Pour ma part, je vois dans le programmatique la possibilité de tout faire, au détriment d'une certaine lisibilité et efficacité pour les cas simples.
Absolument capital pour moi. Par exemple, dans un séquenceur audio/MIDI, tu auras la classe "Segment", qui te dira que sur une piste tu peux disposer des segments redimensionnables avec un nom, une couleur, etc. Puis, tu auras des données MIDI (class MIDISegment extends Segment) ou audio (class AudioSegment extends Segment), qui ajouteront des propriétés supplémentaires (respectivement afficher les données MIDI sous forme de piano-roll ou bien le contenu audio sous forme de forme d'onde).Ce dont on a besoin c'est une syntaxe "hierarchique". Il est vrai que le concept d'encapsulation de l'Objet permet d'avoir cette notion de hierarchie. Mais a-t-on vraiment besoin de l'héritage et le polymorphisme pour définir une IHM ? Avez vous déjà réussi a spécifier une IHM en UML ?
La spec UML, pas fait (mais parce que j'ai surtout bossé jusqu'ici sur des projets de recherche où on est parfois un peu moins formels, ce qui est mal d'ailleurs). Mais ça ne me poserait aucun soucis je pense, pour bien montrer les types génériques d'objets graphiques que le système affiche (sans doutes, des classes "abstraites") et les extensions qu'on en fait pour représenter tel ou tel type de donnée dans sa spécificité.
<HORSSUJET>
Mouais... Encore une annonce bidon d'un consultant en mal de reconnaissance. Ou guere plus.
Je bosse sous dot net depuis 3 ans maintenant, et pour avoir vu les evolutions comparees en java (qui a baigne les etudes de tout le monde) et en dot net, je qualifierai ce dernier de copie conforme de java, mais en moins portable (parce qu'en realite, un produit dot net n'est reellement portable que sous windows, a moins de se restreindre en n'utilisant que le code compatible msil ET mono).
Il est certain que sous Windows, peut tenir la comparaison avec java. Mais certainement pas sous Linux. Car mono est vraiment loin tres loin d'etre sur pour des professionnels qui souhaiteraient se lancer dans le dot net, et sa maintenance n'est pas des plus aisees.
Enfin, s'il faut bien avouer que les interfaces graphiques de java sont assez moches (sauf si on ajoute le lourdissime substance), que dire de celles du dot net, qui sont en realite inexistantes et completement dependantes du systeme hote? Pour un concepteur, c'est assez inconcevable de savoir que la tete de son logiciel changera suivant la machine de la personne qui l'execute...
Donc pour avoir une interface dite système, je suis obligé de faire des manipulations. Ce n'est pas normal. C'est bien toute la teneur de mon message depuis le début.
Soit. Je viens en outre de penser à autre chose. Il est impossible en java d'utiliser les fonctions de glisser/déposer entre applications. Par exemple ouvrir nautilus, sélectionner quelques fichiers avec la souris et les dropper dans une application Java. Terriblement dommage. Il y a décidément beaucoup de pain sur la planche...
Il semble que ce soit possible avec SWT sous Windows (test de copi/collage dans Eclipse réussi), mais malgré tout rien dans la JVM par défaut.
Terriblement dommage ?... juste que les gens lisent pas la doc. S'il y a du pain sur la planche, c'est surtout pour leur apprendre ça.
Enfin bon on va pas en faire un plat, j'imagine que dans le milieu de mono il y a le même genre de problèmes.
Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.
Cela ne fonctionne pas, doc ou pas doc. (Sous Windows, oui, sous Linux Gnome oui, sous Linux KDE non.)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager