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

Java Discussion :

[Portabilité][Info] java absolument 100% portable en pratique ?


Sujet :

Java

  1. #1
    Membre éclairé Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Par défaut [Portabilité][Info] java absolument 100% portable en pratique ?
    hello tout le monde...

    alors voila, tout est dans le titre je crois.... Est ce que java est 100% portable sur toutes les platformes qui ont une machine virtuelle ??? Ou est ce que y a des lignes de code à éviter ???

    est ce que vous auriez des études ou testes qui ont été effectué sur ce sujet qui montre la portabilité de java ???

    merci BOOOOOOOOCOUP

    [ Modéré par Viena ]
    Ajout d'un tag et modification du titre : Pour la compréhension de tous, utilisez un titre clair et les tags ! merci.

    Les Règles du Forum

  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Par défaut
    oui c'est portable. Il faut bien sur eviter de mettre des chemins en dur (parce que C:\ sur unix, ca ne le fait pas et autres petites choses du genre) et il peut arriver quelques petits problemes d'interfaces graphiques (mais ca reste rare)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 109
    Par défaut
    Il faut éviter JNI également.

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 901
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Oui et non ca depend de quels degres de portabilite tu parles.

    Hormis JNI et les chemin Windowsiens codes en dur, parmis les choses qui peuvent gener au niveau de la portabilite :

    - Il existe egalement des differences mineures entre JVM fournies par les differents vendeurs du marche (exp : d'experience perso les JVM de Sun, Blackdown et IBM ont eut parfois des differences de comportement (circa 1999~2002)) voir carrement des fois chez un meme vendeur (ex: Sun pour les version Solaris, Linux et Windows. D'experience perso dans la 1.4 j'avais un bug dans la version Linux avec FileSystemView alors que sous Windows tout marchait tres bien depuis des mois (circa 2003~2004)).

    M'enfin ca tiens plus du bug ou d'une documentation pas assez rigoureuses des API (ex: pas d'indication que la methode ne retourne jamais null ce qui peut laisser a interpretation chez le vendeur). En general ce genre de choses peut-etre reglees dans des versions ulterieures et apres depot de Bug Report/Enhancement Request chez Sun ou l'editeur en question.

    - Attention egalement a la compatibilite ascendente, du code compile avec Java 5.0 a peut de chances de fonctionner avec Java 1.0 (Meme sans utiliser des specificite 5.0).

    - Certaines specificites du materiel peuvent aussi entrer en compte nottement l'acceleration graphique pas disponible sur tous les systemes (d'ou des perfs parfois pourries dans des jeu en Java sur des platformes obscures).

    C'est quand meme bien plus portable que C++ deja parceque les (pseudo-)binaires sont portables de base et que l'API est suffisement vaste pour offrir une bonne partie de ce dont on a besoin sans taper a l'exterieur (et meme dans ce cas comme ces API/lib externes sont elles-meme portables (sauf JNI) ca va bien).

    Le mieux c'est de tester sur plusieurs JVM quand c'est possible (ex : dans mon cas Sun Linux et Windows, fut un temps IBM sous Windows egalement et quand j'ai la chance de trouver un Mac de dispo, la JVM d'Apple) pour s'assurer que l'appli fonctionne partout pareil.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Expert confirmé


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Par défaut Re: java absolument 100% portable en pratique ?
    Citation Envoyé par saod
    hello tout le monde...

    alors voila, tout est dans le titre je crois.... Est ce que java est 100% portable sur toutes les platformes qui ont une machine virtuelle ??? Ou est ce que y a des lignes de code à éviter ???

    est ce que vous auriez des études ou testes qui ont été effectué sur ce sujet qui montre la portabilité de java ???

    merci BOOOOOOOOCOUP
    Oui et Non.
    Oui, Java est portable si tu utilises des API 100% Java (pas commencer avec du JNI, ou autres trucs du genre.)
    Oui, il y a certaines lignes de code à éviter comme supposer que passer à la ligne est le même partout, où mettre / au lieu de \ ou : au lieu de ;
    ..., ...
    Aussi, il te faudra tester sur les différentes plateformes.

    Non, Java n'est pas portable sur toutes les plateformes ayant une JVM. Il faut encore que la version de la JVM correspondent. Du code pour JRE 5.0 ne tournait pas sous Apple vu qu'ils n'avaient pas encore de JRE 5.0.
    Certaines JVM open sources n'implémentent pas toutes les API Java. Et donc, forcément, ne pourront faire tourner ton programme.

    Mais Java a grandement facilité la portabilité du code.
    Il y a un Kit chez Sun qui existe pour voir si ce que t'écris est portable.

  6. #6
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut Re: java absolument 100% portable en pratique ?
    Citation Envoyé par vbrabant
    Non, Java n'est pas portable sur toutes les plateformes ayant une JVM. Il faut encore que la version de la JVM correspondent. Du code pour JRE 5.0 ne tournait pas sous Apple vu qu'ils n'avaient pas encore de JRE 5.0.
    Certaines JVM open sources n'implémentent pas toutes les API Java. Et donc, forcément, ne pourront faire tourner ton programme.
    D'où l'intéret de fournir des programmes java avec JRE embarquée, évitant toute incompatiblité.

  7. #7
    NGY
    NGY est déconnecté
    Membre expérimenté
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Par défaut Re: [Info] java absolument 100% portable en pratique ?
    Citation Envoyé par saod
    hello tout le monde...
    (...) Ou est ce que y a des lignes de code à éviter ??? (...)
    On peut ajouter aussi :
    • pas de Runtime.getRuntime().exec(...)
      toujours utiliser les constantes définies telles que :
      [list:7cd0677a17]File.separator ;
      System.getProperty("line.separator")
    [/list:u:7cd0677a17]

  8. #8
    Membre éclairé Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Par défaut
    oki... merci pour vos reponse !!!!

    mais exiterais t'il pas des testes qui ont été fais et qui montre a quel pourcentage java est compatible sur les différente platforme ???

    Quand je parle de la comptabilité c'est en prenant biensur la meme version de la JRE de sun !

    et javais entendu dire que la bibliothèque AWT pouvais avoir quelque des différence suivant les platform sur la quel elle est exécuté !?!?

    Est ce que c'est pareil pour SWING, j'imagine que non vu que tout est dessiner en java avec swing si je me trompe pas... ?

    et merci encore pour vos reponse

  9. #9
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut Re: java absolument 100% portable en pratique ?
    Citation Envoyé par Regis.C
    Citation Envoyé par vbrabant
    Non, Java n'est pas portable sur toutes les plateformes ayant une JVM. Il faut encore que la version de la JVM correspondent. Du code pour JRE 5.0 ne tournait pas sous Apple vu qu'ils n'avaient pas encore de JRE 5.0.
    Certaines JVM open sources n'implémentent pas toutes les API Java. Et donc, forcément, ne pourront faire tourner ton programme.
    D'où l'intéret de fournir des programmes java avec JRE embarquée, évitant toute incompatiblité.
    Comment qu'on fait pour fournir le JRE avec son appli?
    Il faut fournir quels fichiers?

Discussions similaires

  1. Jeux java sur telephone portable
    Par lereveur84 dans le forum Développement Mobile en Java
    Réponses: 7
    Dernier message: 19/07/2005, 15h01
  2. [Info]Java Obfuscator
    Par yanis97 dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 10/07/2005, 19h33
  3. [Info]Java est il gratuit ?
    Par mouloudéen dans le forum Général Java
    Réponses: 2
    Dernier message: 10/06/2005, 14h54
  4. [Info]chemin absolu du projet courant
    Par slyos72 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 30/05/2005, 10h06
  5. [Info]Java et CVS
    Par onlytoine dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/08/2004, 13h42

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