|
programmation
sous Linux
Il
existe beaucoup d'outils pour programmer sous Linux. Cette page
ne traite que de la programmation C++ pour l'interface
KDE, avec l'outil KDevelop. La version de KDevelop présentée
ici est la version 0.3. C'est donc une version de développement,
qui ne comporte pas encore toutes les fonctionnalités, et qui
peut parfois être instable. Malgré tout, c'est un excellent outils
qui propose beaucoup de fonctionnalités intéressantes.
Comme
nous le voyons sur la photo ci dessous, KDevelop propose, comme
Visual C++, un assistant nommé Application Wizard chargé
de créer le squelette de l'application. Ainsi, le développeur
n'a pas à chaque fois qu'il écrit un programme, à réécrire le
même code commun à toutes les application, qui sert par exemple
à créer la fenêtre principale de l'application. Il propose plusieurs
types d'applications: texte, graphique, avec ou sans barres d'outils,
etc...
KDevelop
propose des fonctionnalités, et une interface très proche
de cette de Visual C++ sous Windows, et utilise la technologie
orientée objet. Les programmeurs Windows utilisant Visual C++
ne seront donc pas perdus en passant à la programmation Linux/KDE
avec KDevelop.
En
tant qu'ancien développeur sous Visual C++, j'ai été surpris par
la facilité et les possibilités de la programmation sous
KDE. En effet, KDE étant né après Windows, il prend en
charge beaucoup de fonctionnalités, que le développeur doit programmer
lui même sous windows. C'est le cas avec la richesse de l'interface
graphique qu'il est possible de construire. En plus, sous Linux,
le développeur a a disposition de nombreuses bibliothèques comme
Qt, GTK+, qui servent à lui faciliter la vie, ce qu'on trouve
difficilement sous Windows. Par exemple, sous Linux, il vous suffit
de récupérer une bibliothèque de gestion des formats graphiques
(GIF, JPG, ...) pour pouvoir les gérer dans vous programmes. Windows
ne gère que le BMP et à vous de vous débrouiller pour le reste.
Après
la création et la compilation de l'application produite
par cet assistant, on obtient déjà une application
qui peut fonctionner, qui a l'allure de la capture
ci contre:
L'application
est accompagnée de menus déroulants, de barres d'outils,
et des principales commandes.
La
photo montre que le programme dispose d'une interface
assez perfectionnée, comme des icones à côté
des commandes du menu, qui demanent un travail supplémentaire
aux programmeurs lorsqu'ils programment sous Windows.
En effet, Visual C++ ne propose pas ce type d'interface,
et c'est au programmeur d'écrire les centaines de lignes
de codes nécessaire pour obtenir ce type d'interface.
|
|
L'interface
de KDevelop est très pratique. En effet, on peut voir qu'on dispose
à gauche d'une arborescence du programme, qui nous montre les
différentes classes et fonctions, et qui nous permet d'y accéder
directement. L'éditeur de code dispose d'une syntaxe colorée.
Les menus proposent beaucoup de fonctionnalités, dont la compilation
du progamme, son exécution, le lancement du débogueur, etc...
Une
aide est disponible. Pour l'obtenir, il suffit de cliquer sur
un onglet. Elle propose notament la description de toutes les
classes de Qt, de KDE, des manuels de C++, etc... Cepdenant, il
faut noter que toutes les rubriques de l'aide ne sont pas disponibles
dans cette version de KDevelop.
Voici
maintenant un exemple de code source de programme KDevelop qui
montre la syntaxe de ce langage:
//**************************
kdraw.h **************************
#include
<kapp.h>
#include <ktopwidget.h>
class
KMainWindow : public KTopLevelWidge
{
Q_OBJECT;
public:
KMainWindow();
};
//*************************
kdraw.cpp *************************
#include
"kdraw.moc"
KMainWindow::KMainWindow()
{
}
//*************************
main.cpp **************************
#include
"kdraw.h"
int
main(int argc, char **argv)
{
KApplication app( argc, argv, "KDraw"
);
KMainWindow window;
window.show();
app.setMainWidget(&window);
return app.exec();
}
Cet
exemple crée simplement la fenêtre principale d'une application.
Pour avoir d'autres exemples de programmes KDE, vous pouvez télécharger
des exemples de programmes KDE. Des documentations sont aussi
disponibles. Pour cela, vous pouvez visiter des sites
consacrés au développement KDE.
La
traduction des applications sous Linux:
Sous
Linux, l'internationalisation des programmes est grandement
facilitée. En effet, des modules permettent de faire
facilement évoluer un programme qui est déjà traduit dans plusieurs
langues. La traduction est stockée dans un fichier, ce qui fait
qu'il n'est pas nécessaire de récupérer une autre version du programme
exécutable pour avoir la traduction. Le même exécutable peut gérer
toutes les langues, à partir du moment où le fichier de traduction
est présent. Pour mettre en place ce système, il suffit de remplacer
les chaînes de caractères par l'appel à une fonction comme par
exemple:
sprintf
(szMessage, i18n("Ouverture du fichier %s"), szFile);
Ainsi,
dans cet exemple, la fonction i18n (pour internationalisation)
cherche une traduction de la chaîne "Ouverture du fichier
%s" dans la langue de l'utilisateur. S'il ne la trouve pas,
la chaîne en anglais sera affichée. De plus, un traducteur français
qui ne sait pas programmer peut très bien traduire un projet anglais,
car il n'a pas à comprendre le code source, la liste des chaînes
à traduire étant stockée dans un fichier spécial.
Lorsque
le développeur, qui avait déjà traduit la version 1 de son programme,
désire traduire la version 2, il n'est pas obligé de recommencer
la traduction à partir de zéro. En effet, il lui suffit, grâce
à l'aide ce certains outils, de traduire les chaînes qui ont été
ajoutées dans la version 2. Toute la traduction des chaînes déjà
présentes dans la version 1 du programme est conservée.
Ce
système peut être comparé aux applications du mode Windows: Quand
vous avez installé la version anglaise de Microsoft Office 97,
et que vous voulez avoir la version française, vous devez avoir
le CD complet d'installation de cette version.
|
|