IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NetBeans Java Discussion :

Portabilité des applis swing dev avec NetBeans


Sujet :

NetBeans Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut Portabilité des applis swing dev avec NetBeans
    Bonjour à tous,


    Actuellement je fais joujou avec NetBeans 6 RC2 pour essayer de me mettre à Java.

    J' étudie la réécriture d'un soft de gestion de magasin de sport ( vente+location ) que j'ai développé il y a quelques années en Delphi+MySQL. J'ai étudié la piste .net avec C#, mais je suis évidemment très tenté par Java et sa portabilité. Pouvoir passer les postes de travail sous Linux, le rêve...

    Venant de Delphi, un IDE comme Netbeans me permet d'envisager plus facilement un changement de plateforme de développement.

    J'ai lu ça et là qu'il y avait des surprises quand on recompilait sous Linux un projet développé en version Windows. Ma question porte donc sur votre expérience de portabilité concernant des projets où toute la partie Swing a été développée avec l'aide de Netbeans.

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Citation Envoyé par giloutho Voir le message
    J'ai lu ça et là qu'il y avait des surprises quand on recompilait sous Linux un projet développé en version Windows. Ma question porte donc sur votre expérience de portabilité concernant des projets où toute la partie Swing a été développée avec l'aide de Netbeans.
    Avec java tu n'as pas besoin de recompiler sous un autre systeme.

    Je suis actuellement sous windows et je developpe mes appli pour win/linux/mac sans probleme.

    Ce n'est pas swing qui sera le probleme, mais plutot l'acces aux fichiers. les histoires de / ou \ selon le system ainsi que les droit ecriture/lecture.

    Java+PostgreSQL est une tres bonne combinaison au passage
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Citation Envoyé par eclesia Voir le message
    Ce n'est pas swing qui sera le probleme, mais plutot l'acces aux fichiers. les histoires de / ou \ selon le system ainsi que les droit ecriture/lecture.
    Et encore les paths écrits avec des / sont compris sur toutes les plateformes avec java..

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Merci pour vos réponses...

    Vos réponses sous entendent que les problèmes de layout ou autres sont correctement pris en charge par NetBeans...

    Avec java tu n'as pas besoin de recompiler sous un autre systeme
    Cela signifie qu'un jar obtenu sous Windows peut aller voir sous Linux si ça le fait sans autre forme de procès ? Je pensais que pour porter un projet sous Linux, il fallait obligatoirement le recompiler sous Linux

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par giloutho Voir le message
    Cela signifie qu'un jar obtenu sous Windows peut aller voir sous Linux si ça le fait sans autre forme de procès ? Je pensais que pour porter un projet sous Linux, il fallait obligatoirement le recompiler sous Linux
    Pas besoin de recompiler. Un application pure Java tournera sur n'importe quel système pourvu d'une JVM et ce quelque soit le système sur lequel elle a été compilée.

    Les limitations à la portabilités sont principalement :
    • l'appel de code natif via JNI (si tu n'as pas écris le code natif pour chaque système).
    • certaines manipulations de fichier (utilisation de chemins absolus dans le code tel que "C:\Program Files" ou "/home/user").
    • l'appel de commandes systèmes via Runtime.exec()
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Super... y'a plus qu'à se retrousser les manches...

  7. #7
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    Pas besoin de recompiler. Un application pure Java tournera sur n'importe quel système pourvu d'une JVM et ce quelque soit le système sur lequel elle a été compilée.

    Les limitations à la portabilités sont principalement :
    • l'appel de code natif via JNI (si tu n'as pas écris le code natif pour chaque système).
    • certaines manipulations de fichier (utilisation de chemins absolus dans le code tel que "C:\Program Files" ou "/home/user").
    • l'appel de commandes systèmes via Runtime.exec()
    Je me permets de rajouter :
    • Les applications basées sur le framework SWT.


    Valère
    Pensez au bouton
    Je ne répond pas aux questions techniques par email ou MP.

  8. #8
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Bonjour

    Citation Envoyé par Valère Voir le message
    Je me permets de rajouter :
    • Les applications basées sur le framework SWT.


    Valère

    Hum ...
    Ca rentre dans les conditions données par le y@m's
    Citation Envoyé par le y@m's
    Pas besoin de recompiler. Un application pure Java tournera sur n'importe quel système pourvu d'une JVM et ce quelque soit le système sur lequel elle a été compilée.

    Les limitations à la portabilités sont principalement :

    * l'appel de code natif via JNI (si tu n'as pas écris le code natif pour chaque système).
    * certaines manipulations de fichier (utilisation de chemins absolus dans le code tel que "C:\Program Files" ou "/home/user").
    * l'appel de commandes systèmes via Runtime.exec()
    Sachant que SWT est disponible pour :

    Windows (Supported Versions)
    Windows (x86/WPF) **early access** (
    Windows CE (ARM PocketPC)
    Windows CE (ARM PocketPC, J2ME profile)
    Linux (x86/GTK 2)
    Linux (x86_64/GTK 2)
    Linux (PPC/GTK 2)
    Linux (x86/Motif)
    Solaris 8 (SPARC/GTK 2)
    Solaris 8 (SPARC/Motif)
    QNX (x86/Photon)
    AIX (PPC/Motif)
    Mac OSX (Mac/Carbon)
    Lien

    C'est quand même pas sympa de pointer du doigt SWT !! (surtout avec NetBeans 6 dans la signature )

  9. #9
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Oulà, je ne voulais pas lancer de flamewar ici (quoique, on est dans le forum NetBeans, je suis chez moi ).

    Alors je suis tout à fait prêt à faire machine arrière si je raconte une énorme bêtise, mais il me semble que SWT demande une recompilation sur chaque système, non? Ou bien peut-être c'est uniquement le jar de SWT qu'il faut changer?

    /me a l'impression d'avoir dit une grosse bêtise!!
    Pensez au bouton
    Je ne répond pas aux questions techniques par email ou MP.

  10. #10
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Citation Envoyé par Valère Voir le message
    Oulà, je ne voulais pas lancer de flamewar ici (quoique, on est dans le forum NetBeans, je suis chez moi ).

    Alors je suis tout à fait prêt à faire machine arrière si je raconte une énorme bêtise, mais il me semble que SWT demande une recompilation sur chaque système, non? Ou bien peut-être c'est uniquement le jar de SWT qu'il faut changer?

    /me a l'impression d'avoir dit une grosse bêtise!!
    Ben oui, il faut le recompiler sur chaque système puisque c'est du JNI :
    Building the SWT JNI libraries from the eclipse SDK download:

    1. Download an Eclipse distribution from http://www.eclipse.org/downloads/index.php.
    2. Unzip the distribution. This will create a directory called eclipse. This directory is subsequently referred to as <eclipseRoot>.
    3. In the directory <eclipseRoot>/plugins/org.eclipse.rcp.source.platform_X.X.X, find the source zip in the SWT subdirectory.
    4. Unzip contained file src.zip.
    5. Edit the file build.sh (or build.bat on Windows) in the current directory. Set the environment variables defined in that file to match the location of your JRE, etc. Save the file and close it.
    6. Run the build command (sh build.sh for UNIX and Linux platforms, build.bat for Windows). This will create the appropriate library file(s) in the current directory. For example, this will create swt-XXXX.dll files on windows, or libswt-XXXX.so files on Linux and Solaris.
    Dès que tu fais du JNI vers du code natif tu es obligé de compiler ton code natif sur chaque système (si c'est possible). Par exemple, du C t'es obligé de le compiler sur chaque système Donc dès que tu fais du JNI vers du C ben tu re (oula je radote là...).

    En gros SWT rentre bien dans les conditions données par Le y@m's (JNI) et vu le nombre de plate formes supportées c'est pas cool de le pointer du doigt.

    Et oui, il y a juste le JAR SWT a changé ! (c'est SWT qui n'est pas portable, mais une appli qui utilise SWT est portable sur toutes les plateformes pour lesquelles SWT est disponible, un peu comme une appli java est portable sur toutes les plateformes pour lesquelles une JVM est disponible) !

    Ca veut dire quoi flamewar ?

  11. #11
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Un flamewar, c'est par exemple quand je dis que Eclipse c'est nul. C'est pourtant évident, aucun développeur digne de ce nom ne pourrait avancer le contraire, et pourtant certains essaient!



    PS: http://fr.wikipedia.org/wiki/Flamewar
    PPS: merci pour tes explications!
    Pensez au bouton
    Je ne répond pas aux questions techniques par email ou MP.

  12. #12
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Et oui, il y a juste le JAR SWT a changé ! (c'est SWT qui n'est pas portable, mais une appli qui utilise SWT est portable sur toutes les plateformes pour lesquelles SWT est disponible, un peu comme une appli java est portable sur toutes les plateformes pour lesquelles une JVM est disponible) !
    C'est quand même pas sympa de pointer du doigt SWT !! (surtout avec NetBeans 6 dans la signature )
    Je ne vois pas le rapport , Netbeans 6 n'est pas en SWT que je sache.
    SWT a ses defauts inhérent à JNI, dans le choix AWT/Swing/SWT il faut le citer. D'autant que dans la grande majorité des cas il n'y a pas d'avantage à l'utiliser par rapport à Swing (et toc!) .
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  13. #13
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    salut

    Citation Envoyé par eclesia
    Je ne vois pas le rapport , Netbeans 6 n'est pas en SWT que je sache.
    bah c'était juste un clin d'oeil... on est sur le forum Netbeans, j'ai trouvé ça drôle de dénoncer SWT ! Ne me fais pas croire que tu ne vois pas le raport !

    SWT a ses defauts inhérent à JNI
    Exactement ce que j'ai dis.

    D'autant que dans la grande majorité des cas il n'y a pas d'avantage à l'utiliser par rapport à Swing (et toc!) .
    En reprenant le même argument (dans la grande majorité des cas), il n'y a pas d'avantage à utiliser Swing par rapport à SWT. D'ailleurs je n'ai jamais eu la prétention de lancer un tel débat !

    D'ailleurs c'est rigolo mais j'ai l'impression que ce que tu as dit et ce que je viens dire est complètement faux !! As tu seulement essayé le couple SWT/JFace ? Perso j'aime bien Swing et SWT (SWT que j'utilise aussi bien sous Linux que sous windows (mais seulement pour des plugins eclipse) )

    bonne nuit.

    PS : merci pour les infos sur flamewar

Discussions similaires

  1. Comment déployer une appli j2ee faite avec netbeans ?
    Par judas27 dans le forum NetBeans
    Réponses: 2
    Dernier message: 24/07/2007, 16h50
  2. Crée une IHM swing ou awt avec netbeans
    Par Wilgard dans le forum NetBeans
    Réponses: 3
    Dernier message: 18/04/2007, 11h03
  3. appli Swing avec eclipse
    Par LeNeutrino dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 17/10/2006, 10h54
  4. Grosse appli avec des composants Swing ?
    Par marmotte dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/10/2006, 14h53
  5. [débutant] problème avec l'affichage des lettres sou dev-C++
    Par Antigonos Ier Gonatas dans le forum Dev-C++
    Réponses: 9
    Dernier message: 02/04/2006, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo