Prise main de BeIDE (anciennement Code Warrior)  
 

L'environnement de développement (BeIDE) livré avec le BeOS se nomme CodeWarrior de MetroWerks. Sur le CD du BeOS 3.1, la version 1.5 de CodeWarrior est fournie en version limitée. Voici un bref aperçu de la bête...

Lorsque vous lancez CodeWarrior, une fenêtre vierge apparaît. C'est à partir de cette fenêtre que vous pouvez coder vos applications en C++. Ce qui nous intéresse ici n'est pas encore de se mettre à faire du code, mais plutôt de créer un projet.

Un projet va incorporer un ensemble de fichiers qui pourront par exemple aboutir à une application plus ou moins consistante pour le BeOS. A la création d'un projet, via le menu Project>Create New, vous avez le choix entre cinq types :

SharedLib et StaticLib permettent de créer des bibliothèques dédiées à certains domaines.

Ce qui nous intéresse particulièrement pour notre projet c'est BeAPP. Ce type de projet va en effet inclure les bibliothèques standards pour pouvoir créer une application BeOS pour la plateforme Intel.

Une fois le type BeAPP choisi, les bibliothèques suivantes sont inclues dans notre projet:

  • glue-noinit.a
  • init_term_dyn.o
  • start_dyn.a
  • libbe.so.LIB
  • libroot.so.LIB

Le codage de l'application peut maintenant commencer... Pour cela, utiliser la fenêtre vierge qui est apparue au lancement de CodeWarrior, et tapez les lignes suivantes :

#include <app/Application.h>

main()

{

new BApplication("application/x-vnd.ORA-app5");

be_app->Run();

delete be_app;

}

Voici l'aspect du programme tapé sous CodeWarrior. Vous pourrez noter la mise en évidence des mots clefs du C++ par des couleurs spécifiques. Bonne chose pour la lisibilité du source...

Quelques remarques générales sur le programme :

  • L'objet BApplication permet de référencer une application sous le BeOS, le premier paramètre étant la signature du programme, c'est à dire le moyen de l'identifier.

  • be_app représente une variable globale de l'application. A partir de cette variable on peut appeler les méthodes de l'application (par exemple Run() qui est une méthode livrée en standard).

A noter que ce n'est pas la meilleure façon d'écrire une application sous le BeOS, il faut mieux en effet créer de nouvelles classes qui héritent des classes de base du BeOS. Ce programme est donné pour question de simplicité.

Sauvegardez ensuite votre fichier, et incluez-le par la suite dans votre projet via le menu suivant :

Vous pouvez maitenant contruire votre application via le menu Project->Make. Cette phase construit l'exécutable dans le répertoire du projet.

Lancez ensuite votre application, normalement une nouvelle icône est apparue dans le dossier de votre projet courant (pour mon cas, il s'agit de l'exécutable BeApp).

Vous devriez voir une nouvelle tâche dans la Barre du Bureau (DeskBar) :

Malheureusement l'exemple est très limité, et vous ne pouvez rien faire de cette application (même pas la quitter !).

Si vous voulez quand même terminer l'exécution de BeApp, lancez Terminal, et tapez :

ps | grep <nom de votre application> (BeApp pour mon cas)

kill <numéro de la tâche de votre application>

exit

Voilà, il ne vous reste plus qu'à parcourir le BeBook et les exemples livrés avec le CD du BeOS pour découvrir comment créer des applications un peu plus complexes...

Un petit plus pour ceux qui veulent programmer en C ou C++ pur : Il est possible de créer vos programmes C ou C++ sous CodeWarrior ou StyledEdit par exemple, et ensuite sous terminal vous pourrez les compiler de la manière suivante :

Par exemple pour le programme C suivant nommé Test.cpp :

#include <stdio.h>

main()

{

printf("Hello World !\n");

}

Il vous sera possible de le compiler en tapant dans Terminal :

cc -o Test Test.cpp

Si tout se passe bien, vous pouvez maintenant lancer votre programme. Voici ce qui devrait s'afficher à l'écran :

Ce mode peut être intéressant lorsque vous créez des bibliothèques plutôt orientées traitement et qui ne font pas intervenir d'éléments graphiques. Leur déboguage en sera facilité.

Une déception au niveau de CodeWarrior : l'absence de débogueur pour la version Intel.

Mise à part ce point, la programmation sous BeOS semble être assez aisée, d'autant plus si on connait la programmation orientée objets.