Écrire du Code Portable sous Linux – Trois approches différentes

Gazette Linux n°181 — mars 2008

par Deividson Luiz Okopnik (Copyright © 2008) deivid TIRET okop CHEZ yahoo POINT com

traduction par Hadj Abdelkader Boumezrag (tous droits réservés) boumezrag POINT hadj CHEZ hotmail POINT fr

relecture


Compte tenu du nombre de différentes plateformes et systèmes d'exploitations utilisés actuellement, l'écriture du code qui ne fonctionne que sur un seul système, une seule configuration ou une seule platforme peut diminuer considérablement le nombre de personnes qui pourraient l'utiliser. Pour moi, c'est une perte de la bonne programmation.

Pour éviter ce problème, il existe plusieurs approches. Dans cet article, nous présenterons trois d'entre elles: Mono (avec MonoDevelop), Lazare, et Java (avec NetBeans). Nous allons voir comment créer une application de base "Hello World" avec chacune des approches, et la façon de l'exécuter sur Linux et Windows.

Mono:

" Mono est une plateforme logicielle conçue pour permettre aux développeurs de créer facilement des applications multi-plateformes ." - http://www.mono-project.com/

Mono est une plate-forme logicielle Open Source développée comme une application de. Net Framework de Microsoft. Elle offre la possibilité d'exécuter des applications .Net sur des plateformes non prises en charge par Microsoft; elle vous donne aussi la possibilité de développer des Mac applications Mono .net-indépendant qui s'exécutent sur tout système supportant Mono (Linux,OS X, Windows, etc)

L'IDE (L'environnement de Développement Intégré) principal pour développer des applications Mono est appelé MonoDevelop - c'est un IDE open-source, développé en utilisant la plate-forme Mono. Il est principalement disponible pour Linux, mais peut aussi être compilé et utilisé sur Windows et OS X.

Avantages:

Inconvénients:

Développer une application simple mono avec MonoDevelop:

Démarrez MonoDevelop, et dans la page d'accueil,sélectionnez commencer un nouveau projet. Puis, selectionnez "GTK# 2.0 Projet", Donnez lui un nom, selectionnez un endroit où le projet sera enregistré, et cliquez "Suivant". Sur la page suivante, appuyez sur "OK" et un projet vide avec un formulaire vide vous sera crée.

L'Interface de MonoDevelop est assez simple, - sur la gauche de l'écran vous avez une liste des fichiers dans vos projets, et à droite le contenu du fichier sélectionné. Si vous appuyez sur «F5», votre projet sera compilé et exécuté - si vous le faites maintenant, vous verrez un formulaire simple, vide.

Essayons de développer notre application 'Hello World'. Dans le fichier liste, double-cliquez sur "MainWindow.cs" (fenêtre principale) - et vous allez voir apparaître votre formulaire vide et une liste des composants que vous pouvez ajouter. Pour ajouter un composant, faites-le glisser dans la liste de votre formulaire.

Commencez par ajouter"Fixed" du groupe de composants "Container"- vous permettera d'ajouter des composants normaux, comme des boutons, à votre formulaire. après avoir ajouté les "Fixed Container", ajouter un bouton et une étiquette.

Changez le titre du formulaire en mettant "Hello World", et "Hello" au bouton texte, Supprimez le label texte. Supprimez l'étiquette texte. Pour faire ça, sélectionnez d'abord le formulaire (En cliquant sur son titre, et dans le panneau de propriétés (juste en dessous de la liste des composants) cliquez Pour élargir la fenêtre des propriétés windows panel. Puis, selectionnez le titre de la fenêtre "propriétés du titre de la fenêtre" Et changez la en "Hello World".

Maintenant faites la même chose avec bouton, en changeant ses propriétés "Caption" (dans le groupe propriétés du bouton "Button Properties" ) à "Hello", et avec l'étiquette, en changeant ses propriétés "Caption" (Supprimez tout ce qui y est).

Maintenant que toutes les propriétés sont faites, créons le code pour que le "Hello World" apparaît quand l'utilisateur clique sur le bouton. Selectionner le bouton, cliquez(just en haut de la liste des propriétés), élargir Button Signals group, et double-cliquez sur le Clicked signal pour que la procédure soit créee pour vous, puis double-cliquez encore sur cette procédure pour y accéder.

Vous allez avoir le code suivant:

protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
{
}

Changez le par le suivant (notez que le bouton et les noms des labels Pourraient changer – les miens sont 'label1' et 'button1', mais si vous aviez rajouté plus d'un,ils peuvent être appelés 'label2', 'button3', etc. Vérifiez bien que tu l'a bien changé dans le codePour refléter tes noms de composant):

protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
{
 label1.LabelProp = "Hello World!!!";
}

Maintenant, notre test d'application est prêt à être exécuté – appuyez juste sur 'F5' pour vérifier. Si vous voulez le compiler, appuyez sur 'F8' et un fichier .exe va être généré dans le dossier 'bin/Debug', où vous avez enregistré votre projet. Ce .exe peut être exécuté sur n'importe quel plateforme où Mono est installé sans aucune portée. Pour l'exécuter dans Windows, utilisez la commande suivante:

mono "nom_fichier_ici.exe"

Lazarus:

"Write once, Compile everywhere." - http://www.lazarus.freepascal.org/

Lazarus est un IDE Open-Source gratuit pour le compilateur'free-pascal (également gratuit et Open Source), qui compile le code Pascal et Object-Pascal (y compris Delphi, dans la plupart des cas).L'IDE est actuellement Portée à Linux, Windows, et FreeBSD; le compilateur s'exécute dans plusieurs autres systèmes d'exploitation, y compris Windows CE et Mac OS/X.

Avantages:

Inconvénients:

Developpement d’une simple application Lazarus :

Quand Vous ouvrez Lazare pour la première fois, il vous sera présenté avec un projet vide contenant un formulaire vide. Vous pouvez appuyer sur «F12» pour basculer entre l'affichage forme / code. En haut de l'interface, il y a une liste de tous les composants installés que vous pouvez utiliser pour concevoir votre programme.

Commençons notre exemple en plaçant un bouton et une étiquette dans le formulaire. pour ce faire,double-cliquer sur le bouton «Ok» dans la liste des composants - qui va créer un bouton dans votre formulaire vide. Créez une étiquette de la même manière -l'étiquette est la petite boîte blanche avec un «A» à l'intérieur. Vous pouvez faire glisser le composants autour du formulaire pour modifier leurs emplacement ou les redimensionner.

Ensuite, nous allons modifier certaines propriétés pour les contrôles que nous utilisons. pour ce faire, cliquez sur le bouton dans le formulaire pour le sélectionner. Une fois c'est fait, ses propriétés seront affichées dans la fenêtre Propriétés de la liste (par défaut, il est sur le côté gauche de l'écran). Cette fenêtre contient toute les propriétés du contrôle actuellement sélectionné, et vous permet de changer leurs valeurs. Trouvez la propriété Caption de notre bouton et changez la à "Hello".

Ensuite, faire de même avec l'étiquette, et modifier la propriété Captionà vider (il suffit de supprimer ce qu'il ya dedans). Enfin, sélectionnez le formulaire lui-même (en cliquant dans un espace vide à l'intérieur) et modifiez sa propriété Caption à "Hello World"

Maintenant, avec toutes les propriétés configurées, nous pouvons ajouter le code pour fairefonctionner les choses sur notre formulaire. Ce que nous allons faire est de faire apparaître Hellodans l'étiquette lorsque l'utilisateur clique sur le bouton. Pour ajouter du code à notre bouton, double-cliquez sur elle - ça vous amène à la fenêtre du code et crée la fonction qui sera exécutée lorsquel'utilisateur double clique sur le bouton Il vous suffit juste d'ajouter le code pour qu'il fasse ce que vous voulez

Pour cela, double-cliquez sur le bouton de notre formulaire - qui vous ramènera au code du formulaire et créera une procédure vide appelé TForm1.Button1Click qui sera appelée lorsque l'utilisateur clique sur le bouton du formulaire. Changez pour quelque chose comme ceci (notez que le bouton et les noms de marque peuvent changer - les miens sont label1 et button1, mais si vous ajoutez plus d'un, ils pourraient être appelés label2, button3, etc - changez le dans le code en fonction de vos noms de composants):

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:='Hello World!!!';
end; 

Vous pouvez maintenant appuyer sur F9 pour exécuter le programme et de voir votre formulaire en l'action. Pour l'exécuter sur d'autres systèmes, il vous suffit de télécharger et installer Lazarus , ouvrez le projet et compilez -.c'est aussi simple que ça.

Pour compiler votre application, vous pouvez utiliser l'option de construction ‘Build option’, dans le menu Exécuter 'Run'.

notez que si vous êtes sur Ubuntu et et que vous installez Lazare à partir de l'option "Ajouter / Suppression de programmes", vous aurez besoin de télécharger le paquet fpc-source (vous pouvez le retrouver here ) et l'installer manuellement, puis configurer Lazare (Environnement/Options d'environnement, mettrez /usr/share/fpcsrc/ dans FPC Source Directory) pour que cela fonctionne correctement.

Java:

"Mature, extremmement robuste et étonnamment polyvalente, la technologie Java est devenue inestimable en permettant les développeurs d'écrire leurs logiciels dans une Platforme et de les exécuter pratiquement dans n'importe quelle autre platforme. " - http://www.java.com/en/about/

Java est le résultat d'une combinaison de deux choses: JRE Environnement d'exécution Java contenant la plateforme Java et JVM la machine virtuelle Java, et le langage de programmation Java.

Java est un langage de programmation de haut niveau, Un langage de programmation orientée objet qui doit être compilé en ce qu'on appelle Java Bytecode. Le JRE est responsable d'exécuter Le code java compilé – en la migrant vers la platforme principale du code exécutable- et portée sur différentes plateformes

Avantages:

Inconvénients:

Developpement d'une simple application Java:

Pour développer notre application Java sur Linux,nous allons utiliser un environnement de développement intégré IDE nommée Netbeans – Un IDE très professionnel gratuit et open-source exécutable sur Linus, Windows, OSX et Solaris – et ils peuvent même nous envoyer un DVD gratuit Si vous faites la demande ( http://www.netbeans.org/about/media.html) . Sachez bien qu'il faut obligatoirement installer la SDK Java avant d'installer NetBeans, pour qu'elle soit Détectée pendant l'installation.

Pour commencer notre exemple d'application, Lancez NetBeans, commencez un nouveau projet ( Fichier/Nouveau/Projet), selectionnez Java Desktop Application, Donnez un nom à notre projet ("hello") et Un nouveau projet va être crée, avec un formulaire contenant un menu and une barre d'état.

Vous pouvez maintenant ajouter un bouton et une étiquette qu'on va utiliser dans le projet faites le en glissant de la listes des composants vers le panneau.

Maintenant on va changer le bouton et les propriétes texte de l'étiquette – Pour ce faire, selectionnez d'abord le bouton, trouvez la propriété Text dans la liste à droite de l'interface et changez la en mettant "Hello". Puis sélectionner l'étiquette, trouvez les propriétés texte, et effacer tout ce qui y est écrit.

Une fois c'est fait, c'est le moment de rajouter du code à notre formulaire pour le faire fonctionner. Pour faire cela, sélectionnez le button, cliquez sur le bouton 'Evènements' (juste au dessus du bouton propriétés),et cliquez une fois sur l'évènement, Ça va vous créer une procédure vide qui va être exécutée lorsque l'utilisateur Clique sur le bouton. Pour afficher 'Hello World!!!' sur l'étiquette lorsque l'utilisateur clique sur le bouton, changez la procédure vide pour qu'elle soit comme ceci (notez que les noms de l'étiquette peuvent changer - les miens sont label1 et button1, mais si vous ajoutez plus d'un, ils pourraient être appelés label2, button3, etc - changez les dans le code en fonction de vos noms de composants):

    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
        jLabel1.setText("Hello World!!!");
    } 

Une fois c'est fait, vous pouvez appuyez sur F6 pour exécuter votre application. Pour construire le fichier .jar, vous appuyez sur F11, et pour exécuter votre fichier .jar faites

java -jar "file_name_here.jar"

ça fonctionne partout où le JRE est installé

Conclusion

Toutes les approches présentées ont leurs propres avantages et inconvénients, Et c'est à vous, le développeur, de choisir laquelle répond à vos besoins En tenant compte du logiciel que vous développez et les systèmes sur lesquels vont être éxécutés.

Il est également important de signaler que deux parmi les trois outils présentés ici,MonoDevelop et Lazarus, sont touts nouveaux and et pourraient manquer quelques caractéristiques utiles, mais ils sont en amélioration tous les jours.


Deividson Luiz Okopnik

L. Deividson est né à União da Vitória, au Brésil, le 14 avril 1984. Il a commencé à s'intéresser aux ordinateurs dès son enfance, et a commencé à coder à 12 ans. Il est diplômé en systèmes d'information et termine sa spécialité en réseaux et développement Web. Il programme en plusieurs langages, entre autres C/C++/C#, PHP, Visual Basic, Object Pascal et d'autres. Il travaille à la mairie de Porto União comme technicien informatique, et il est spécialisé dans le développement Web et poste de travail, et dans la maintenance en base de données et réseaux.

Deividson travaille à Porto União's Town Hall en tant que technicien en informatique Specialité Web et développement système, maintenance, Bases de données/Réseaux.


Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux

Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site http://www.traduc.org/Gazette_Linux

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.