La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Université HBC faculté des sciences de lingénieur Département dInformatique Présenté par: Younsi Nadia. Younsi Nadia. Samet khayra. Samet khayra.

Présentations similaires


Présentation au sujet: "Université HBC faculté des sciences de lingénieur Département dInformatique Présenté par: Younsi Nadia. Younsi Nadia. Samet khayra. Samet khayra."— Transcription de la présentation:

1 Université HBC faculté des sciences de lingénieur Département dInformatique Présenté par: Younsi Nadia. Younsi Nadia. Samet khayra. Samet khayra.

2 2 Plan de travail Les langages interprétés Langages compilés avec des bibliothèques multiplateformes Différentes solutions techniques Problématique Introduction Les langages semi-interprétés

3 3 Introduction Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plates-formes, cest-à-dire le couple liant ordinateur et système dexploitation. En anglais on parle souvent de « cross-platform software » ou « platform independent software » ou encore de « multi-platform software ». De nombreux langages de programmation sont multiplateformes. En effet, il suffit de développer un compilateur destiné à générer un code exécutable compréhensible par chacun des processeurs quon désire utiliser. Par exemple, un logiciel fait avec la bibliothèque graphique GTK+ sous Linux ne fonctionnera pas tel quel sous Windows, même si lArchitecture est la même. Même si le langage est le C, le fonctionnement interne de la gestion de laffichage est différent. On touche ici à la notion de portabilité dun programme.

4 4 Problématique Le problème se pose rapidement aux développeurs : choisir une plate-forme pour un programme revient à restreindre laudience de celui-ci. Ce problème se complexifie dautant plus que le secteur informatique tend à se diversifier, tant dans le système dexploitation (Linux, Mac OS, etc.) que dans le matériel (GSM, PDA, etc.).

5 5 Différentes solutions techniques Pour permettre aux logiciels davoir le plus daudience possible on peut recourir à trois techniques : les langages compilés avec des bibliothèques multiplateformes, les langages interprétés, les langages semi-interprétés.

6 6 Langages compilés avec des bibliothèques multiplateformes La vitesse dexécution et lintégration sont des facteurs importants dans beaucoup de développements. Il est alors nécessaire de passer 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-formes pour obtenir labstraction nécessaire à une programmation multiplate-forme. Un autre avantage des programmes compilés est que ceux-ci sont directement utilisables chez lutilisateur final. En fournissant la bibliothèque avec le produit, il nest pas nécessaire dutiliser un interpréteur ou une machine virtuelle.

7 7 Langages compilés avec des bibliothèques multiplateformes Il y a tout de même un inconvénient à lutilisation de programmes compilés multiplateformes : la distribution. Il faut en effet compiler une version du programme pour chaque système dexploitation et pour chaque architecture, 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 dexploitation. Parmi les bibliothèques multiplateformes 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, etc.).

8 8 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 linterpréteur existe pour une plate-forme donnée, le programme fonctionnera sur cette plate-forme. Néanmoins, lutilisation nest 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 multiplateformes (par exemple encore wxWidgets et Qt). La distribution de logiciels en langage interprété est beaucoup plus facile mais il faut souvent fournir linterpré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.

9 9 Les langages semi-interprétés Lapproche la plus récente pour créer des applications multiplateformes est lutilisation 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ême avantages que les code interprétés mais possède une plus grande vitesse dexécution. Le principal exemple est le langage Java de Sun Microsystems. Ce langage est compilé en bytecode Java 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é lutilisation 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 nest pas toujours très facile.

10


Télécharger ppt "Université HBC faculté des sciences de lingénieur Département dInformatique Présenté par: Younsi Nadia. Younsi Nadia. Samet khayra. Samet khayra."

Présentations similaires


Annonces Google