Multiplate-forme
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plates-formes, c’est-à-dire le couple liant ordinateur et système d’exploitation. En anglais on parle souvent de « cross-platform software » ou « platform independent software » ou encore de « multi-platform software ».

De nombreux langages de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape...) sont multiplate-forme (Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plates-formes, c’est-à-dire le couple...). En effet, il suffit de développer un compilateur destiné à générer un code exécutable compréhensible par chacun des processeurs qu’on désire utiliser.

Par exemple, un logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement,...) fait avec la bibliothèque graphique GTK+ sous Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le noyau Linux. Par...) ne fonctionnera pas tel quel sous Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS. Depuis les...), même si l’Architecture est la même. Même si le langage est le C, le fonctionnement interne (En France, ce nom désigne un médecin, un pharmacien ou un chirurgien-dentiste, à la fois en activité et en formation à l'hôpital ou en cabinet pendant...) de la gestion de l’affichage est différent. On touche ici à la notion de portabilité (Selon le contexte, le mot portabilité peut avoir plusieurs significations :) d’un programme.

Le problème se pose rapidement aux développeurs : choisir une plate-forme pour un programme revient à restreindre l’audience de celui-ci. Ce problème se complexifie d’autant plus que le secteur informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par des...) tend à se diversifier, tant dans le système d’exploitation (Linux, Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu pour être le premier système grand public ayant une interface...), etc.) que dans le matériel (GSM, PDA, etc.).

Différentes solutions techniques

Pour permettre aux logiciels d’avoir le plus d’audience possible on peut recourir à trois techniques :

  • les langages compilés avec des bibliothèques multiplate-forme,
  • les langages interprétés,
  • les langages semi-interprétés.

Langages compilés avec des bibliothèques multiplate-forme

La vitesse (On distingue :) d’exécution et l’intégration sont des facteurs importants dans beaucoup de développements. Il est alors nécessaire de passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) par les langages compilés. Les différents systèmes gérant différemment de nombreuses choses, on doit passer par des bibliothèques multiplate-forme pour obtenir l’abstraction nécessaire à une programmation multiplate-forme.

Un autre avantage des programmes compilés est que ceux-ci sont directement utilisables chez l’utilisateur final. En fournissant la bibliothèque avec le produit, il n’est pas nécessaire d’utiliser un interpréteur (En informatique, un interprète (parfois appelé, à tort, « interpréteur » par mauvaise traduction de l'anglais) est un outil ayant pour tâche d'analyser, de traduire et d'exécuter un...) ou une machine virtuelle (Le sens originel de machine virtuelle (ou Virtual Machine (VM) en anglais) est la création de plusieurs environnements d'exécution sur un seul ordinateur, dont chacun émule l'ordinateur hôte. Cela fournit à...).

Il y a tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) de même un inconvénient à l’utilisation de programmes compilés multiplate-forme : la distribution. Il faut en effet compiler une version du programme pour chaque système d’exploitation et pour chaque architecture (L’architecture peut se définir comme l’art de bâtir des édifices.), et ceci à chaque version du programme. Dans le cas des logiciels open source cela ne pose pas vraiment de problème car il suffit de fournir le moyen de compiler sur chaque système d’exploitation.

Parmi les bibliothèques multiplate-forme les plus populaires, citons wxWidgets et Qt. Ces deux bibliothèques fournissent un framework très complet qui permet de développer une application une fois pour de nombreux systèmes (Linux, Mac OS, Windows, Windows CE, Palm OS (Palm OS est un système d'exploitation pour appareils mobiles édité par PalmSource, séparé en 2003 de la société Palm (PalmOne depuis). Initialement conçus pour les PDA (assistants personnels numériques) de Palm, Palm...), etc.).

Les langages interprétés

Les langages interprétés proposent une autre approche du problème. De tels langages sont interprétés à chaque fois que le programme est utilisé, du coup si l’interpréteur existe pour une plate-forme donnée (Dans les technologies de l'information, une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction, d'un événement, etc.), le programme fonctionnera sur cette plate-forme. Néanmoins, l’utilisation n’est aussi facile que dans le cas où tout ce qui est utilisé dans le programme fait partie de bibliothèques standards. Pour utiliser des fonctions avancées, il faut se rabattre sur des bibliothèques multiplate-forme (par exemple encore wxWidgets et Qt).

La distribution de logiciels en langage interprété est beaucoup plus facile mais il faut souvent fournir l’interpréteur adéquat. Un autre problème est que les sources du logiciel sont fournies, cela peut poser des problèmes dans le cas où le code contient un procédé qui doit rester secret.

Les langages semi-interprétés

L’approche la plus récente pour créer des applications multiplate-forme est l’utilisation de langages semi-interprétés. Ces langages sont compilés vers un code intermédiaire qui est interprété. Cette approche présente les mêmes avantages que les codes interprétés mais possède une plus grande vitesse d’exécution.

Le principal exemple est le langage Java de Sun Microsystems (Sun Microsystems (NASDAQ : SUNW) est un constructeur d'ordinateurs et un éditeur de logiciels américain.). Ce langage est compilé en bytecode Java (Le bytecode Java est le résultat de la compilation d'un programme dont le code source est en Java par le compilateur Java. Ce bytecode peut être exécuté sous...) qui est ensuite interprété par une machine virtuelle. Le bytecode peut être exécuté sur chaque plate-forme où la machine virtuelle est implémentée. Malgré l’utilisation de codes semi-interprétés, Java a la réputation d’être lent. Le langage Java peut être compilé en code natif (par exemple avec GCJ) mais il perd alors sa portabilité. La distribution de Java pose le problème de la machine virtuelle, il faut distribuer celle-ci avec le logiciel, ce qui n’est pas toujours très facile.

Page générée en 0.053 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique