SDK AmigaDE 1.0

Un article de GuruMed.

Sommaire

SDK, le controversé

Par Corto & Glames

Le groupe de Bill McEwen arrivé à la tête d'Amiga Inc en janvier 2000 avait annoncé ses intentions : constituer une équipe, trouver des partenaires et faire la part belle aux développeurs pour enfin présenter un nouveau système d'exploitation. Nous attendons une nouvelle machine pour le début d'année prochaine et avons testé ce qui permettra de lui fournir des applications dès sa sortie : le controversé mais bien présent SDK.


Le packaging soigné de cette version 1.0 fait plaisir et il est réconfortant de lire un ouvrage technique où l'on parle d'Amiga ! On a en effet droit à un livre, complet, qui s'étale sur près de 300 pages. La boîte contient bien sûr un CDROM avec les outils de développement ainsi qu'une doc colossale en html et pdf. Dans sa grande générosité, Amiga nous gratifie aussi d'un large autocollant qui en mettra plein la vue ! L'installation requiert un système sous Linux Redhat 6.1, avec 32 Mo de mémoire.

Le livre se charge de la présentation du nouveau système Amiga et du principe du Virtual Processor, tout en faisant de nombreuses références à l'Amiga Classic. Vient ensuite la partie plus tournée vers la programmation : les langages supportés (VP, Java, C) dans un chapitre chacun et la description des objets et du système à un niveau plus technique. Le noyau et sa conception sont décrits, tout comme d'autres aspects typiques : les devices, l'AmigaShell ainsi que l'omniprésent Multimedia Toolkit (gestion de l'audio, du graphisme et de l'interface).


Installation

Il s'agit sans doute de se prémunir contre le piratage et d'éviter le développement anarchique, puisque l'installation requiert de nombreuses étapes. A la réception de son kit, il faut commencer par s'enregistrer en ligne sur le site Amiga et pour cette étape, une carte réseau connectée est obligatoire. Sans quoi il n'est même pas envisageable de naviguer sur le CDROM pour consulter les docs : il ne sera décompacté qu'avec un setup et la saisie de nombreux numéros identifiants (utilisateur, développeurs, ...).

Lorsque l'environnement est correctement installé, on y accède le plus naturellement du monde par le système de fichiers de Linux. Deux choix s'offrent alors à nous : intent_shell pour basculer en mode console sous Elate ou bien intent_media pour profiter des démos à lancer par un menu. Point d'interface 'end-user' pour l'instant étant donné qu'il s'agit d'outils de développement, il faut se contenter d'un menu basique. Notons que l'ensemble est quand même dépouillé, il n'y a même pas d'éditeur digne de ce nom en standard !


Les démos

Place aux symboles, une démo mise en avant concerne la mythique Boing Ball, cette boule rouge et blanche qui rebondit ici sur le bas de l'écran et que l'on peut saisir à la souris pour mieux l'envoyer en l'air, quitte à ce qu'elle sorte par le haut de l'écran pour revenir encore plus vite ! Ceci est amusant mais ça devient tout de suite plus sérieux quand on ouvre de multiples fenêtres dont le fond est plus ou moins transparent, c'est à dire qu'on peut superposer plusieurs fenêtres et observer leur contenu ! Et si notre Boing Ball vient à passer derrière une fenêtre avec un filtre violet, elle ne sera pas cachée mais elle prendra une teinte violette ! On peut ainsi superposer les objets comme on l'entend pour mieux en être étonné : la gestion des couches et de leur priorité est très poussée, on en arriverait presque à une notion de "fenêtres 3D".

Parmi les autres applications, plus sobres se trouvent une horloge, des fenêtres présentant différents alphabets (le système gère en interne l'Unicode qui permet de coder les écritures du monde entier), des interfaces avec menus et boutons. Ces dernières sont d'assez mauvais goût et peu pratiques mais la GUI n'est pas complètement implémentée, et c'est Paul Nolan, l'auteur de Photogenics qui s'en charge donc on devrait voir un sacré changement !

Depuis la sortie du SDK, de nouvelles démos sont apparues, telles que les très classiques tunnels ou rotozooms. Ce dernier m'a assez impressionné puisque sur notre machine de test (un modeste Pentium 133), il offre un bon exemple des possibilités du système. Dans une fenêtre, des capsules tournent tout en zoomant (le principe imparable du rotozoom ;-), le fond de la fenêtre n'étant autre que le bureau lui-même, avec les fenêtres d'arrière plan qu'il peut comporter. Qu'on étire ou qu'on déplace la fenêtre, ce n'est pas cela qui viendra perturber l'effet en cours !


Développer avant tout

Avant d'arriver à de tels résultats, il va falloir se pencher sur les facilités et les performances des outils de développement : assembleur, débogueur, compilateur, gestionnaire, ...

Déjà de nombreux sources disponibles vous aideront à comprendre le fonctionnement du Virtual Processor (VP) sur lequel tout repose. Les programmes sont compilés dans un code processeur virtuel qui est traduit au vol lors de l'exécution. Le langage VP ressemble à un mélange d'assembleur et de C un peu déroutant mais qui paraît très apprécié au final. Une force du VP repose sur son aspect modulaire qui met en avant la notion récurrente de Tool qui se définit comme "un bloc de code exécutable, réentrant et relogeable, qui peut être chargé et exécuter à la demande".

Pour les plus sceptiques, sachez que le VP peut être complètement transparent et que vous pouvez vous en tenir à des langages de haut niveau. La compilation en C/C++ classique est assurée par vpcc qui est un portage de gcc. Quant à Java, on a droit à une version allégée puisqu'il s'agit de Personal Java en version 1.1.6. Je n'ai pu faire de tests de vitesse qui auraient pourtant permis de confirmer si le Java de TAO est réellement aussi rapide qu'ils le prétendent.

Mes quelques essais de compilations furent probants, ce qui n'est guère étonnant puisque tous les développeurs utilisent le même système, les risques d'incompatibilités sont donc réduits pour l'instant. Un soucis tout de même, pour certains projets, il manquait des tools qui ont compromis la compilation. Le développement se trouve facilité par le très puissant AmigaShell qui supporte une complétion automatique des plus agréable pour retrouver une fonction du système ou une commande. De plus, le fameux et terrifiant 'man' est bien plus lisible et agréable que d'ordinaire puisque colorisé.


Impressions

Le SDK donne toutes les clés aux développeurs volontaires et envieux de se placer sur un système naissant. Il en représente la première pierre et la tâche est lourde. Un nouvel OS n'est viable que s'il se voit pourvu à sa sortie de logiciels ... et de jeux. Or, il est déjà prévu pas moins de 150 applications dont 70 de jeux. Les ventes plus que satisfaisantes et l'appréciation du kit laissent présager un avenir rayonnant. On connaît déjà l'existence d'une nouvelle version de Wildfire, rebaptisé Taifun pour l'occasion. Le portage de Photogenics n'aurait pris que 3 semaines, contre 3 mois au moment de son passage sous Linux (le piège est peut-être que ce sont justement les sources Linux qui ont pu être utilisées). Outre les classiques outils de compression, on notera la présence de POV, d'un player MPEG video, ...


Evolution

D'abord sorti sous Linux, puis sous Windows en octobre, le kit de développement fourni (ou plutôt vendu) par Amiga Inc ne signifie aucunement qu'on se retrouve à programmer pour ces OS, idée qui semble en avoir affolé plus d'un. Les systèmes hôtes actuels ne sont que le support du système Elate créé par TAO et base de l'AmigaDE. Elate s'utilise aujourd'hui par dessus un OS mais deviendra natif dans sa version finale.

La prochaine version intégrera la GUI et ses composants graphiques, même si on attendait celle-ci pour la version 1.01 qui offre tout de même un meilleur support des autres distributions Linux (Redhat 6.2, Mandrake 7.1, Suse 7.0) et s'ouvre à Windows. Concernant Java, Amiga a annoncé que le package Swing (indispensable pour les applications graphiques évoluées) était opérationnel, bien que l'effort sur l'efficacité n'est pas encore été porté.

Le travail de ces derniers mois devrait payer avec la sortie de la nouvelle version du SDK et des cartes AmigaOne PPC. Tout devrait devenir plus clair à ce moment-là sur ce que sera le nouvel OS.


Liens utiles

On peut bénéficier d'outils disponibles sur Internet pour agrémenter son environnement de développement. Le site de support officiel se trouve sur www.amigadev.net, réservé aux utilisateurs enregistrés et propose une mailing-list. D'autres adresses où se rendre de toute urgence : www.amigasdk.com, amigasdk.ifrance.com.