Les 3 voies royales pour écrire des applications portables

La portabilité du code est un des problèmes critiques que rencontrent les développeurs d’applications desktop. Plusieurs approches permettent de vaincre cette difficulté.

Dans le monde des applications en ligne de commande, la portabilité va de soi. Elle est en général assurée directement par les langages de programmation, au travers de leurs versions standardisées, ou des librairies de base communes à la plupart des systèmes d’exploitation.

Toutefois, les choses se compliquent lorsqu’il est question de projets plus sophistiqués. La portabilité peut devenir difficile pour une application multicoeur, et carrément critique avec une application graphique. Certes, un bon développeur pourra jongler avec les spécificités de chaque OS, mais au prix d’une perte de temps assez conséquente (chose d’autant plus ennuyeuse que ledit bon développeur est bon, et donc précieux).

La portabilité par la plate-forme

Plusieurs voies permettent de créer des applications graphiques sans (trop) se soucier des problèmes de portabilité.

La première est d’utiliser une plate-forme spécifiquement conçue à cet effet. Bien évidemment, c’est Java – chouchou des entreprises – qui demeure aujourd’hui la référence dans ce domaine. N’oubliez pas toutefois que la plate-forme Java n’est pas uniquement liée au langage de programmation Java. De plus, n’omettez pas JavaFX dans votre réflexion, car cet outil est réellement devenu très intéressant.

Autre possibilité, la plate-forme .NET. D’origine limitée aux OS Windows, elle peut s’étendre vers d’autres systèmes d’exploitation au travers du projet open source Mono. Depuis peu, .NET s’est érigé en Fondation, qui met sur un pied d’égalité les mondes Windows et non Windows. De nombreux langages de programmation sont compatibles pour .NET, ce qui en fait une offre particulièrement intéressante.

N’oubliez pas enfin les RAD multiplateformes. Xojo (ex. RealStudio) a eu plusieurs fois droit de cité dans nos colonnes. Et pour cause : il permet de créer des applications natives Windows, OS X et Linux sans peine, et ce y compris pour des débutants.

La portabilité par le framework

Certaines librairies graphiques sont communes à de multiples OS. Les développeurs C++ sont ainsi particulièrement friands de la librairie Qt lorsqu’il s’agit de créer une application native multiplateforme.

D’autres offres Open Source existent toutefois, comme le célèbre GTK+, FLTK, FOX Toolkit, WXWidgets ou encore Zinc (qui n’est pas une offre Open Source). Mention spéciale pour Ultimate++, une solution dédiée aux développeurs C++ qui permet de créer des applications portables Windows/Unix en un tournemain. Dommage toutefois que ce projet se trouve aujourd’hui au ralenti.

La portabilité par le web

Enfin, vous pouvez opter pour une application web. Ici, l’effort de portabilité ne sera nécessaire que du côté du client, bref, de l’interface utilisateur. Visez Chrome, Firefox et Internet Explorer et l’application devrait fonctionner quasiment partout.

Il faut toutefois admettre que cette voie ne permet d’assurer qu’une demi-portabilité de l’application, puisque le problème demeure entier sur la partie serveur. Peu importe toutefois, puisque le serveur restera en général placé sous le contrôle de la DSI, et non des utilisateurs.

Crédit photo : © TheSupe87 – Fotolia.com


Voir aussi
Quiz Silicon.fr – Êtes-vous un expert des langages de programmation ?
Quiz Silicon.fr – 10 questions sur les noms des systèmes d’exploitation
Quiz Silicon.fr – Connaissez-vous les secrets de Java ?