|
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.

Aller en Haut de la Page
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.
Aller en Haut de la Page
Site Officiel de KDevelop
Sites
consacrés au développement KDE
|