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

Langages de programmation Discussion :

Logiciels existant sur plusieurs OS


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut Logiciels existant sur plusieurs OS
    Bonjour,

    Je me demande seulement comment gère-t-on le développement des logiciels qui existent pour plusieurs plate-formes (écrits avec un langage non portable comme Java)
    Ex: Mozilla Firefox

    Sur quelle plate-forme a travaillé d'abord l'équipe de développement?
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par randriano Voir le message
    Bonjour,

    Je me demande seulement comment gère-t-on le développement des logiciels qui existent pour plusieurs plate-formes (écrits avec un langage non portable comme Java)
    Ex: Mozilla Firefox

    Sur quelle plate-forme a travaillé d'abord l'équipe de développement?
    Justement java est portable, ceci explique cela.

    La plate-forme cela peut-être n'importe quoi pourvu qu'il y existe un compilateur (java par exemple) ou un cross-compilateur dans le cas de langage compilé(c++ par exemple)

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Un développement dépend de fonctionnalités qu'à ou n'a pas la plateforme.

    Si on veut réduire les soucis de "portage", on utilisera un langage disponible partout: Java, C, C++ ou encore Python, Ruby, etc... sont de bons candidats.

    Ensuite vous allez définir les fonctionnalités "au sens large" que devra avoir la plateforme pour supporter votre logiciel et arbitrer à partir de quels composants vous allez construire ces fonctionnalités.

    Ex: Si vous avez besoin de persistence, vous pourrez utiliser des fichiers plats ou une base de donnée. Et dans ce cas, choisir un SGDB qui sera disponible sur l'ensemble des "OS" que vous ciblez.

    Pour revenir à Mozilla/Firefox, les spécificités de l'OS sont masquées par la Netscape Portable Runtime. C'est une bibliothèque qui fourni des API indépendantes de l'OS.
    => Mozilla est développé "au-dessus" de cette couche abstraite.
    Si on souhaite porter "Mozilla" sur une plate-forme non encore supportée, on porte d'abord la NSPR puis on compile Mozilla.

    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    Pour revenir à Mozilla/Firefox, les spécificités de l'OS sont masquées par la Netscape Portable Runtime. C'est une bibliothèque qui fourni des API indépendantes de l'OS.
    => Mozilla est développé "au-dessus" de cette couche abstraite.
    Là c'est clair !!

    Donc l'équipe doit donc développer ce genre de couche logicielle avant tout?
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 615
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 615
    Billets dans le blog
    2
    Par défaut
    ben oui..

    En fait, le fond du problème est : minimiser le travail pour passer d'un OS à l'autre..

    Donc en fait, il faut maximiser le code portable (quel qu'il soit : langage C, C++, ...).

    Si on a des GUI, c'est pareil.. Maximiser le code portable (méthodes et traitements).

    Ensuite on peut si on le souhaite utiliser un outil graphique portable (style Java). Mais ce n'est pas obligatoire.... Tout dépend des différences entre OS sur ce qu'on veut, des standards existants, des contraintes, etc etc...

    Pour mémoire, les navigateurs style Netscape/I.E. sont conçus autour du même code développé par le CERN/NCSA, en C.. Autour, il y avait le widget d'interprétation/présentation HTML, qui était X, et qui a été porté à Windows avec la Windows API.

    En gros, la structure d'un tel projet serait :

    • bibliothèques indépendantes
    • bibliothèques dépendantes
    • sources dépendants
    • sources indépendants
    • Makefile



    Pour répondre à ta question, la plupart ont été développés au départ sur des platefrmes unixoides (Unix ou Linux)

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Cette approche n'est pas seulement nécessaire au développement d'applications portable.

    Le design de haut niveau définit une abstraction souvent éloignée des API bruptes offertes par l'OS ou les autres composants qui seront utilisés.
    C'est une démarche descendante certes mais on s'arrête à la définition de primitives de haut niveau qui seront organisées/groupées par domaines/composants/packages.

    Dans le design détaillé, on va spécifier la réalisation de ces primitives de haut niveau à partir des API "bruptes" s'il n'y a pas de contrainte de portabilité ou en encapsulant encore ces "API bruptes" via un "adaptateur" ou un wrapper.

    Sans parler de portabilité, si demain il est judicieux de changer ou faire évoluer la technologie, seul l'adaptateur est à ré-écrire et/ou à tester de façon "forte".

    L'adaptateur permet de visibiliser les dépendances que l'application a avec le composant qu'elle utilise. De plus, l'API du composant est parfois bien trop riche par rapport aux besoins d'une application: l'adaptateur permet de simplifier et éventuellement optimiser l'utilisation de cette API.

    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [XL-2010] Copier/coller selon critère existant sur plusieurs lignes sur une même ligne
    Par Frs95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2014, 17h32
  2. Boucle sur l'existence de plusieurs feuilles
    Par LaMite dans le forum Excel
    Réponses: 4
    Dernier message: 06/05/2014, 10h24
  3. Installation logiciel sur plusieurs postes
    Par sky88 dans le forum Administration
    Réponses: 2
    Dernier message: 06/02/2014, 14h47
  4. logiciel deposer une annonce sur plusieurs sites
    Par ninedee dans le forum ALM
    Réponses: 0
    Dernier message: 05/11/2010, 11h22
  5. faire un logiciel qui fait parsing d'un fichier xml existant sur le serveur
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/08/2007, 12h09

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