Logiciels multi-plates-formes

eiffel

Lorsque nous décidons de changer d’ordinateur de bureau, nous avons intérêt à en acquérir un nouveau muni du même système d’exploitation que l’ancien, parce que sinon la plupart de nos logiciels risqueraient de ne pas fonctionner sur ce nouveau système ou pire pourraient ne pas avoir d’équivalent.
Par exemple, le logiciel PaintShop Pro de retouche d’images pour Windows 7 ne peut pas être exécuté sur le système d’exploitation FreeBSD.
En fait, rares sont les logiciels, capables de s’exécuter sans être modifiés sur plusieurs plates-formes. Mais un logiciel peut être adapté par son auteur à plusieurs plates-formes et il peut être considéré comme multi-plates-formes bien que nous ayons affaire à plusieurs déclinaisons différentes du même logiciel. Nous pouvons citer MsWord ou The Gimp comme exemples de logiciels multi-plates-formes.

Types de logiciels multi-plates-formes

Beaucoup de logiciels sont compilés vers du code machine natif et ne sont exécutables que sur un système d’exploitation donné, ce dernier ne fonctionnant que sur un certain type de machine. Pour qu’ils soient multi-plates-formes, le concepteur doit les adapter et les compiler sur les différentes plates-formes visées.

D’autres applications sont interprétées et peuvent s’exécuter sur plusieurs plates-formes à condition d’avoir installé sur celles-ci un interprète. C’est le cas des applications écrites en langage Perl, Python, etc

Dans une évolution assez récente, des logiciels peuvent être semi-interprétés, c’est-à-dire compilés vers un code intermédiaire qui peut être interprété. Donnons l’exemple des logiciels écrits en langage Java qui une fois compilés vers du code machine « bytecode » de Java, peuvent être exécutés sur toute plate-forme sur laquelle a été installé la machine d’exécution Java JRE.

Beaucoup d’applications interprétées trouvent leur place dans le monde de l’internet sous forme d’applications client-serveur. Pour ces applications internet, il suffit qu’un navigateur internet assez récent soit installé sur son ordinateur et de se connecter à l’adresse du serveur hébergeant l’application. Ces logiciels multi-plates-formes sont de plus en plus développés dans les secteurs administratifs, bancaires, culturels, de distribution, industriels, logistiques et de la santé, mais n’ont pas une interface utilisateur très évoluée, ne peuvent pas accéder facilement à toutes les fonctionnalités du système du client et présentent souvent des problèmes de sécurité et de confidentialité des données.

Création d’un logiciel multi-plates-formes

La création d’un logiciel multi-plates-formes n’a jamais été très simple pour les développeurs, surtout s’ils doivent cibler un grand nombre de plates-formes. Pour cause, les différentes plates-formes ne sont pas pourvues des mêmes bibliothèques de base, ni des mêmes langages interprétés. Ajoutons que les outils de développement, y compris les langages de programmation, peuvent être imposés aux développeurs.

Par exemple, pour créer une application :

  • sur IOS, nous avons besoin de l’ensemble d’outils de développement X Code et de l’un des deux langages de programmation Objective-C ou Swift

  • sur Windows, nous sommes invités à utiliser Visual Studio et à programmer en C# (ou éventuellement en C++ ou en Visual Basic)

  • sur Android, nous devons utiliser Android Studio et programmer en Java ou Kotlin

Ainsi, plusieurs langages de programmation peuvent alors être nécessaires pour développer une même application.

Pour éviter d’apprendre de multiples langages de programmation, certains développeurs utilisent des bibliothèques multi-plates-formes (Qt, GTK, wxWidget …​) mais à part la bibliothèque Qt, les autres sont de moins en moins multi-plates-formes.

D’autres utilisent des outils hybrides comme Xamarin qui permet, à partir de code écrit en C#, de créer des applications natives iOS, Android et Windows. Ceux qui préfèrent le JavaScript peuvent utiliser React ou Apache Cordova pour créer des applications mobiles iOS et Android.

Il existe quelques langages de programmation comme Haxe capables de compiler vers différents langages de programmations comme le C++, Java, C#, JavaScript etc.

Avantages et inconvénients des logiciels multi-plates-formes

Un logiciel multi-plate-forme permet à l’utilisateur de ne pas avoir à chercher un logiciel plus ou moins équivalent lorsqu’il change de plate-forme et de devoir prendre en main un autre logiciel similaire mais au comportement différent.

L’avantage principal des logiciels multi-plates-formes est bien sûr de pouvoir être utilisés sur plusieurs plates-formes.

Cela permet aux utilisateurs de ne pas être dépendants d’un système d’exploitation particulier et d’éviter d’avoir à prendre en main plusieurs logiciels.

Par exemple, si vous possédez sur votre ordinateur sous la distribution Linux Mint le même logiciel de prise de notes qu’à votre travail, vous n’aurez aucun problème de compatibilité et vous pourrez reprendre vos notes.

Mais dans le cas de logiciels payants, cela peut vous coûter cher puisque vous serez peut-être obligé d’acheter les différentes éditions du même logiciel pour chacune de vos plates-formes.

D’autre part, lorsqu’un logiciel dépend d’une machine d’exécution (écrit en Java par exemple), il peut y avoir des problèmes d’installation ou de version de cette dernière.

En ce qui concerne, les applications web qui demandent souvent un abonnement ou qui sont affiliées à une régie publicitaire, il faut rester assez vigilant au sujet du sérieux de l’application.

Très peu de personnes utilisent prioritairement des applications qui existent sur de multiples plates-formes. La grande majorité choisit un logiciel en fonction de ses besoins, de la qualité ou de l’ergonomie.


RSS


Mail


Follow


Preferencesoft Website Privacy Policy