Profitez des offres Memoirevive.ch!
Revolution 2.0.1, LE logiciel de programmation multiplateforme

Cuk.ch était au départ un site mettant en avant les produits que j'ai programmé pendant pas mal d'années et ce en plusieurs langages. Vous trouverez:

Je connais donc relativement bien ces logiciels de programmation qui m'intéressent depuis longtemps.

J'ai adoré HyperCard. Apple nous a annoncé pendant plusieurs années une nouvelle version de ce logiciel génial mais l'a maintenant définitivement abandonné

C'est une honte d'ailleurs, car de nombreux développeurs ont choisi HyperCard pour sa souplesse, et pour sa faculté de s'apprendre sans trop de difficultés. À notre connaissance, il a été le premier à permettre de programmer avec des mots de tous les jours, qui ne soient pas abscons (ou disons "moins abscons") pour le néophyte.

Apple laisse ainsi tomber un programme qui était révolutionnaire. Lorsqu'on a la destinée d'un logiciel aussi riche dans les mains, il me semble regrettable et lamentable de le laisser mourir dans un coin. Et lorsqu'on pense aux milliers de programmeurs qui sont maintenant bloqués parce qu'Apple les a laissé tomber et qu'on y ajoute les clients de ces derniers, qui sont fâchés non pas contre Cupertino mais contre les développeurs qui n'y peuvent rien, on ne comprend pas très bien comment la Pomme a pu ainsi abandonner HyperCard.

Et puis, il y a eu HyperStudio, SuperCard, et Metacard trois programmes qui sont allés plus loin profitant, eux, d'une gestion bien fichue de la couleur, des sons et des animations, ce qui était bien normal: ces programmes étaient suivis par leur éditeur et pouvaient profiter des avancées de ces technologies sur nos machines.

SuperCard et Metacard ont fait le saut de MacOS X, et seul ce dernier est multiplateforme.

RealBasic était jusqu'ici le seul logiciel permettant de développer relativement rapidement une application pour MacOS, MacOS X et Windows. Nous vous le présenterons un jour sur nos pages de tests. Le défaut de ce programme? Il n'est pas tout à fait aussi parlant qu'un logiciel utilisant un langage comme HyperTalk. Ce type de langage n'est peut-être pas ce qui se fait de plus efficace, mais il représente vraiment un plus au niveau de la simplicité de relecture. Vous écrirez ainsi Set the name of cd btn id 221 of window "test" to "Changer" pour demander que le bouton de la carte "Test" affiche "Changer" comme libellé.

C'est tout de même plus explicite que window.test.bt_test.caption="Changer". Mais c'est aussi plus long...

Revolution, l'incroyable alternative

Depuis près de deux ans, un nouveau venu frappe très fort: il s'agit de Revolution. Lors du premier test que j'ai écrit à son sujet, ce programme était très complet, alors qu'il n'en était qu'à la version 1.1. Multiplateforme, ce logiciel travaillait déjà sous Unix, Windows et MacOS (Classic ou X). Il permettait, à partir d'un seul code, de compiler des applications pour chacune de ces plateformes.

La version 2 n'a rien changé à cette philosophie, et le programme a encore mûri, pour devenir véritablement une alternative des plus crédibles à la réalisation de programmes, que ce soit pour Mac ou pour les autres systèmes.

L'article qui suit vous présente ce logiciel magnifique, et se trouve être mis à jour pour suivre les progrès apportés par la toute nouvelle mouture 2.0.1

Revolution et Metacard

Revolution n'est pas parti de rien. Il est basé sur l'excellent Metacard, à l'interface un peu difficile. Les gens de Runtime Revolution Ltd, l'éditeur de Revolution, basé en Ecosse (chouette, des Européens!) ont décidé de reprendre ce programme et de le présenter sous une forme plus "facile d'accès".

Au départ, cela pouvait être inquiétant: les programmeurs devaient attendre que Metacard veuille bien corriger ou améliorer son moteur pour que Revolution puisse en profiter. Mais depuis juin 2003, une grande nouvelle vient de tomber sur la mailing list de Revolution: Runtime Revolution Ltd vient de racheter Metacard. Ainsi, les heureux développeurs de Revolution pourront bénéficier d'un langage qui ne devra pas attendre sur un autre pour progresser. On peut par contre se demander ce qu'il va arriver à Metacard maintenant. Cela dit, le passage de cet environnement de programmation vers Revolution ne pose pas trop de problème, tout comme le passage de code d'une application à l'autre.

Revolution sait tout faire

Revolution me semble avoir pratiquement tout prévu. Il fonctionne à partir de piles (des stacks). Tout programme écrit avec son aide est composé d'une pile principale et de sous-piles, qui sont représentées par des fenêtres. Elles pourront être cachées ou affichées comme bon nous semble. Chaque pile peut contenir une ou plusieurs cartes.

À l'aide de la palette d'outils intégrée,

il suffira de glisser sur les cartes des champs,

  • des boutons

les différents types de boutons disponibles

  • des onglets
  • des cases à cocher
  • des cercles à option
  • des pop-up menus de tous genres

  • des champs textes
  • des tableaux (champs textes spéciaux)
  • des images (de très nombreux formats sont supportés)
  • des barres de progressions
  • des curseurs
  • des animations
  • des formes vectorielles
  • des films QuickTime

Une vue d'un certain nombre d'objets disponibles dans Revolution

Tout le nécessaire est donc disponible pour dessiner une interface plaisante à nos développements. La couleur est omniprésente et se trouve être intégrée en natif, contrairement à HyperCard qui imposait l'usage d'externes ralentissant le tout. Mais ces objets ne seraient rien sans un langage capable de leur donner vie.

Transcript, le langage de Revolution

Ce langage, c'est Transcript, très proche d'HyperTalk en plus évolué (le passage d'un habitué de ce programme ou de SuperCard se fera généralement dans la douceur), pour s'intégrer aux nouvelles technologies. Il est possible de glisser un script derrière chacun des objets, cartes, piles avec une grande finesse. Ainsi, on pourra demander à une carte de faire un certain nombre d'actions avant qu'elle s'ouvre (on preOpenCard), et d'autres ensuite (on OpenCard).

La fenêtre dédiée à l'écriture des scripts indente automatiquement les lignes en tenant compte des boucles de programmation au fur et à mesure de la saisie.

Néanmoins, une édition du code après coup n'est pas mise en forme automatiquement. Qu'à cela ne tienne, il suffit de passer par la commande "Format" du menu "Script" pour que le code sélectionné soit parfaitement remis en place. La commande "Colorize" vous permettra de mieux visualiser encore votre programmation, puisqu'en ce cas, le mots clés par exemple, mais aussi les variables, les début et fin de boucles, les propriétés seront de couleurs différentes pour une meilleure lecture.

Une ligne quelconque peut devenir un commentaire (et par conséquent ne pas être interprétée) par le simple ajout des signes "--" en son début. Mais il est aussi possible de sélectionner un groupe de ligne et de passer par la commande "Comment" pour le commenter ou "Uncomment" (toujours dans le menu "Script") pour lui retirer son caractère de commentaire. C'est pratique lorsqu'on veut éviter momentanément qu'une partie de code soit exécutée.

En violet, le commentaire

Cet éditeur de script dispose, comme c'est de plus en plus souvent le cas dans les langages de programmation, d'un système prédictif, qui vous aide dans la saisie. Ainsi, si vous tapez "num", l'éditeur vous proposera tout ce que Transcript offre au niveau de son langage qui commence par ces trois lettres. Et plus vous tapez, plus l'offre se rétrécit puisque vous restreignez par votre frappe, le nombre de mots clés possibles. Si vous voulez profiter des propositions de l'éditeur, il vous suffit de taper la touche "Commande" associée à la touche correspondant au chiffre précédant votre mot.

"Commande-3" tapera tout seul "numberFormat"

Gros problème, l'annulation est parfois inopérante dans cette partie de Revolution. Cela peut avoir des conséquences catastrophiques si l'on efface par erreur des centaines de lignes de programmation. Le reflex? Ne surtout pas valider les modifications du script et on le retrouvera dans l'état dans lequel on l'avait ouvert. Pour ce faire, il suffit de cliquer sur le bouton "Revert", mais on aura alors perdu un certain nombre de minutes ou d'heures de programmation (le temps passé depuis le dernier enregistrement du script).

Vraiment dommage, et à corriger au plus vite. Étrange d'ailleurs de retrouver ce que j'appelle un bug dans une version 2 de ce logiciel pourtant très bien fini par ailleurs.

Notez que les modifications que vous effectuez sur le code seront prises en compte uniquement lorsque vous aurez appuyé sur le bouton "Apply" ou lorsque vous aurez fermé et validé (toujours par "Apply") votre fenêtre d'édition. Cela peut être perturbant si vous la laissez ouverte, et que vous testez votre programmation. Vous ne constatez aucune différence entre "avant" et "après". Ben oui, vous avez oublié d'appuyer sur "Apply", c'est tout.

C'est à ce moment que Revolution teste votre code. Il vérifie la syntaxe, mais ne vous signalera pas si vous faites appel à un bouton ou à un objet quelconque de votre projet qui n'existe pas. Dommage, même si dès que vous testez vous-même votre code, cette éventuelle absence vous sera signalée immédiatement. Vous pourrez alors revenir immédiatement à la ligne incriminée par un appui sur la touche "script".

Toute la puissance d'HyperTalk est intégrée à Transcript: la gestion des procédures, des fonctions personnelles, des variables et des tableaux est bien présente, tout comme le réglage de toutes les propriétés imaginables de chaque objet de la pile.

Passer du code à son exécution se fait d'un simple clic sur un outil de la palette dédiée, comme je vous l'expliquerai plus bas.

Un logiciel bien structuré

Revolution permet de travailler chaque point important d'un projet grâce à des modules souvent disséminés dans d'autres programmes du même type. Cette structure favorise grandement notre travail de développeur. Nous allons essayer d'en faire le tour, tout en signalant l'incroyable effort d'intégration du logiciel à MacOS X. Si la version 1.1 était bien réalisée, on se trouvait souvent devant des palettes un peu petites, avec certes un look Aqua mais avec une impression de léger bricolage.

Ce n'est désormais plus le cas. Tout est maintenant parfaitement en place, et l'utilisateur de notre nouveau système s'y retrouvera comme un poisson dans l'eau. L'esthétique raffinée et l'ergonomie sont désormais partout présent, ce qui est fort agréable, même et surtout dans un logiciel de programmation.

L'ancienne palette des couleurs d'un objet à gauche, la nouvelle à droite:
tout est plus aéré, plus clair et donc plus efficace.

Des palettes hyper complètes réunies en un seule: le Property Inspector

Chaque objet proposé par Revolution peut voir une quantité époustouflante de propriétés (couleur, forme, style,alignement, comportement, profondeur dans la hiérarchie et j'en passe) pilotées à l'époque par différentes palettes. La nouvelle version 2 les réunit dans une seule fenêtre, le Property Inspector. Cette fenêtre affiche un type de propriétés à la fois, mais l'avantage de ne plus aller les chercher un peu partout est évident.

   

En plus de la palette des couleurs montrée plus haut et de certaines facettes de l'inspecteur de propriétés
décrites plus bas, 4 d'entre elles sont montrées ici: de gauche à droite, les propriétés basiques d'un objet
(ici un bouton), ses propriétés de taille, ses bordures et son format texte.

Depuis les propriétés d'un objet, rien de plus simple que d'en atteindre un autre grâce à un bouton partout présent dans l'inspecteur:

Enfin, il existe un Porperty Inspector pour les objets, comme nous venons de le voir, mais aussi pour les cartes (Card Inspector) et les piles (Stack Inspector). Tous trois fonctionnent selon le même principe décrit plus haut.

Un module pour les menus

Revolution permet de gérer les menus de manière simple et efficace à l'aide du "Menu Builder". Pour ce logiciel, un menu est composé de plusieurs boutons. Mais vous n'avez pas à vous en soucier: ce Menu Builder est très puissant et vous permet de gérer les différentes barres associées à leurs titres et leurs commandes de manière enfantine. On est bien loin de la difficulté de créer des menus imposée par HyperCard, mais par contre très proche de la simplicité offerte par Supercard 4.

Le "Menu Builder", simple et efficace

Menu Builder gère les différences de menus automatiquement selon les plateformes. Ainsi, si vous créez une commande Quitter dans le menu Fichier, ce dernier sera automatiquement déplacé dans le menu de l'application dans MacOS X. De même, un menu pourra être affiché en haut de l'écran pour les systèmes Mac, et au haut de la fenêtre dans les systèmes Windows et Unix.

Tout cela fonctionne parfaitement. Vous pourrez même créer des raccourcis claviers pour Mac, et des raccourcis Mnemonic pour Windows.

De même, les menus hiérarchiques sont gérés, mais pas forcément recommandés si l'on veut travailler sur différentes plateformes (autres que Mac).

Un module pour gérer la taille des objets

Lorsqu'on modifie la taille d'une fenêtre, il est indispensable que les objets qui la composent modifient leur taille ou et leur place dans cette dernière. Cette gestion peut être difficile, au point que le programmeur aura parfois tendance à bloquer la fenêtre afin qu'on ne la modifie pas.

En version 1.1, Revolution imposait de passer par le Geometry Manager. Ce module est supprimé et remplacé logiquement par une facette des propriétés d'un objet sélectionné dans l'inspecteur, appelé comme il se doit tout simplement "Geometry". On peut demander des modifications d'objets en pourcentage proportionnel de la modification de la fenêtre, ou fixer des zones à ne pas dépasser. Une petite merveille de simplicité, même si j'ai dû parfois tâtonner quelque peu pour arriver à ce que je désirais obtenir.

La palette Geometry, pour tout régler lorsque les fenêtres changent de taille

Un module pour gérer les animations

Animation Builder est très puissant. Il permet d'animer un ou plusieurs objets simultanément à l'aide d'une grille où chaque ligne représente un objet quelconque, et chaque colonne un événement dans le temps. Il suffit par exemple de donner une position à un objet dans la fenêtre, d'indiquer à Animation Builder qu'il s'agit d'une image clé, de changer la position du même objet, d'y associer une nouvelle image clé, et le programme se charge de calculer les déplacement entre la position de départ et la position d'arrivée.

L'Animation Builder fait un peu penser à Director, en plus simple

J'avais remarqué en version 1.1.1 de Revolution que les animations étaient fluides sous OS9 et un peu saccadées sous OSX. Ce n'est plus le cas désormais: les deux systèmes donnent satisfaction. Progrès de Revolution? Du système? Ou machine plus puissante? Qu'importe après tout, le résultat est là.

Il faut encore savoir que le gestionnaire d'animations peut gérer des accélérations et décélérations d'objets, et qu'elle permet d'envoyer des messages aux cartes ou aux objets lorsqu'un objet arrive à une image clé donnée (jouer un son par exemple, ou demander le départ d'une nouvelle animation).

Les animations sont ensuite appelées tout simplement dans un script par la commande "revPlayAnimation "MyAnim" pour autant que votre animation s'appelle "MyAnim".

Vraiment génial, tout ça! Que souhaiter de plus? Qu'un objet puisse suivre un chemin tracé peut-être. Ce qu'on est difficile!

Un module pour localiser ses programmes

HyperCard ou SuperCard ne permettent pas facilement de traduire une application. RealBasic est nettement supérieur, mais n'arrive pas à la cheville de Revolution à ce niveau. Avec ce dernier, et à l'aide de la Palette des Profils de l'Inspecteur de propriétés, vous créez autant de profils que désiré. Un profil peut être créé pour gérer une nouvelle langue ou une plateforme. Prenons un exemple: sur MacOS 9, MacOS X, Windows ou Unix, les polices des interfaces ne sont pas les mêmes. Les profils seront utilisés pour créer, dans la même pile, les des apparences différentes pour un même objet. De même, les boutons eux-mêmes doivent souvent être plus gros dans MacOS X que dans MacOS 9. Il suffira de changer leur taille dans les profils.

Le Profile Manager a migré dans une palette de l'inspecteur
intitulée Property Profile et c'est très bien

Il sera aussi très simple de traduire notre programme. Un profil sera créé pour la langue française, un autre pour l'anglaise. Nous sommes bien d'accord que tout cela a des limites, et qu'au bout d'un moment, le risque est grand de devoir jongler avec une grande quantité de profils mais ce gestionnaire de profils est une petite merveille d'ergonomie et de puissance.

Tester son programme

Dans Revolution, tester son programme se fait aussi facilement que dans HyperCard ou SuperCard 4. Il suffit de choisir l'outil "Browser" et le tour est joué, les scripts d'ouverture de carte et ceux contenus dans les boutons sont immédiatement utilisables.


À gauche, l'outil pour tester son programme, à droite,
l'outil pointeur pour dessiner et programmer, tout simplement.

Pour tester la programmation se trouvant dans le script d'ouverture de la pile, il faudra néanmoins tout d'abord la fermer puis la rouvrir ou alors, envoyer un message du type <send "openstack" to stack "chablon"> via la MessageBox, ce qui forcera l'exécution du script de démarrage. RealBasic permet quant à lui une reprise de tout le code à l'aide du mode "Run" que j'apprécie tout autant, mais au prix d'une petite compilation préalable, qui peut prendre du temps.

La MessageBox, présente dans tous les programmes de ce type.
Notez qu'elle peut être mono ligne ou multi-lignes, ce qui peut être intéressant.
pour tester plusieurs commandes de suite

Une vérification du code efficace grâce aux outils de déboguage

Tout programmeur le sait bien: corriger une faute de syntaxe n'est pas trop difficile, puisque, comme je l'ai déjà écrit plus haut, le vérificateur de syntaxe vous indique où se trouve l'erreur. Un appel à un objet qui n'existe pas (faute de frappe) non plus, pour la même raison.

Mais une erreur de logique est souvent bien plus difficile à débusquer.

Les nouveaux langages de programmation, même ceux qui sont plus accessibles au débutant (et c'est d'autant plus important) intègrent des outils de déboguage plus ou moins efficaces.

Ceux offerts par Revolution tiennent bigrement bien la route.

Tout d'abord, il suffit d'insérer un point d'arrêt (BreackPoint) à l'endroit où vous désirez savoir comment se comporte votre code.

La fenêtre d'édition du script se pare alors de quelques boutons supplémentaires, qui nous permettent d'effectuer votre programme ligne après ligne, manuellement ou automatiquement (mode Trace).

Il sera bon de demander l'affichage de la fenêtre d'observation des variables (Variable Watcher), qui affichera toutes les valeurs de ces dernières à un moment précis...

... et pourquoi pas celui du Message Watcher, qui listera absolument tout ce qui se passe au niveau de votre application (entrée de la souris dans une carte, sortie, etc...).

L'observation de cette fenêtre peut-être très utile pour comprendre comment fonctionne Revolution.

Une gestion des projets compliqués à l'aide de l'Application Browser

Un projet peut devenir rapidement assez compliqué, lorsqu'il est composé de plusieurs piles, sous-piles et de nombreuses cartes. Heureusement, un outil vient à votre secours, c'est Application Browser.

Cette fenêtre est un vrai moyen de s'y retrouver dans notre programmation. Vous sélectionnez à gauche une carte, et vous voyez les objets la composant à droite. Un double-clic sur l'un de ces objets et vous voyez apparaître l'inspecteur donnant ses propriétés.

Indispensable quoi!

Compiler pour différentes plateformes

Revolution permet de compiler ses úuvres pour différentes plateformes. Ce sont:

  • MacOS (68K, PPC ou Fat)
  • MacOS X
  • Windows
  • Unix (pratiquement toutes ses déclinaisons)

Mais regardez plutôt la figure suivante, première étape de ce que nous propose le Distribution Builder. Je vous la mets directement en taille réelle, c'est tellement beau!

Bien évidemment, Revolution n'est pas livré avec tous les moteurs pour toutes les plateformes, afin de ne pas alourdir inutilement l'archive de départ. Après tout, tout le monde ne crée pas des applications pour Solaris, qu'il vaudrait mieux d'ailleurs pouvoir tester avant livraison. Si vous cliquez sur la dernière case à cocher (Automatically download required software), les moteurs sélectionnés dans "Build for" seront téléchargés sans coût supplémentaire sur le site runrev.com.

Comme tous les programmes travaillant avec un langage interprété, la compacité des logiciels compilés n'est pas vraiment le fort de Revolution . La moindre application pèse plus de 2 Mb sur le disque, ce qui s'explique par le fait que le moteur de Revolution doit être intégré avec chaque compilation. Avec les progrès et la baisse de prix des mémoires vives ou de stockage, cela ne pose plus trop de problèmes. Reste qu' il faudra plus de temps pour que notre client puisse télécharger l'application créée depuis notre site de distribution. On pourra diminuer cette taille en retirant quelques librairies, mais il vaut mieux dans ce cas savoir ce que l'on fait.

On choisit ici les librairies à intégrer ou non, pour alléger le programme que l'on va créer

On choisit quelles sont les piles à inclure dans la distribution

Et l'on fait quelques réglages spécifiques à chaque plateforme, juste avant de cliquer sur
Build Distribution. Le pire, c'est que ça marche!

Attention néanmoins au piège classique dans lequel les petits vernis du Mac vont tomber pratiquement assurément: sur nos machines, un exécutable peut être modifié. Ainsi, une base de données créée avec HyperCard, SuperCard ou Revolution sera sauvegardée et réouverte dans l'état dans lequel on l'avait fermée, donc avec toutes ses fiches.

Un exécutable Windows par exemple ne peut pas être modifié. Vous allez créer vos fiches, et tout perdre lorsque vous quittez votre application. Il faut donc sauvegarder, si l'on veut profiter du multiplateforme, dans un fichier Data. Cela demande une petite prise de tête de quelques minutes, que l'on résoudra en observant comment fonctionne la pile du didacticiel "Independant Study".

Même chose avec les préférences: sur CukLivrets, qui ne tourne que sur Mac, vous retrouvez le programme dans l'état dans lequel vous l'aviez laissé en le quittant (tiens, ce genre de phrase me rappelle des choses que l'on lit habituellement ailleurs...). Ce sera toujours le cas avec Revolution si vous ne développez que sur Mac, mais ne le sera plus sur Windows ou Unix. Il faut donc prendre l'habitude de travailler avec une pile de type Data conservant ses préférences, ou un fichier texte des préférences. On ira pomper les réglages sauvegardés dans cette pile à chaque démarrage et le tour est joué.

À noter qu'un programme comme RealBasic ne travaille pas autrement, même si l'on ne programme que pour Mac.

Interroger des bases SQL

Revolution sait communiquer avec les bases de données suivantes, et ce en natif (sans l'ajout de plugins):

ï Oracle
ï MySQL
ï PostgreSQL
ï Valentina

On pourra alors profiter de toute la souplesse de l'interface de notre logiciel pour rendre agréable des formats de saisie ou de consultation d'un tel type de données, compatibles ODBC.

Pour rendre cela plus facile, un module est disponible "d'usine", il s'agit du "Database Query Builder".

le Database Query Builder

Très franchement, je n'ai pas testé Revolution dans ce domaine, mais les outils offerts me semblent vraiment convaincants.

Imprimez, c'est facile (enfin, presque)!

Nom d'une pipe, RealBasic, c'est bien et c'est puissant, mais essayez d'imprimer quelque chose! Il faut partir de zéro, dessiner sa page par code, bref, on est à des années lumières de la simplicité de nos machines.

SuperCard n'est pas terrible non plus au niveau de l'impression. Difficile par exemple de demander ne serait-ce que d'imprimer un champ! Un comble tout de même...

Revolution lui est parfait à ce niveau. Non seulement, vous imprimez un champ ou une liste sans le moindre problème, mais vous pouvez même aller bien plus loin dans la mise en page grâce aux rapports, et à l'outil qui leur est dédié, j'ai nommé le... Rapport Builder (oui, vous avez compris la philosophie Revolution!).

Avec un rapport, vous mettez en page pour l'impression uniquement des champs et des cartes. C'est puissant, mais là, une petite prise en main supplémentaire ne serait pas de trop!

Allez RunRev, vous nous faites un petit "pas à pas" et je suis vraiment content.

Une importation présente, certes, mais perfectible

Runtime Revolution Ltd nous offre en prime avec son produit deux sets d'importation pour reprendre nos piles depuis HyperCard et Supercard. J'ai testé ce dernier avec plus ou moins de bonheur. Une pile simple a été reprise et peut être utilisée sans aucune retouche dans Revolution. Par contre il m'a été complètement impossible de passer une pile plus compliquée ne serait-ce qu'en partie. J'en suis fort désolé.

D'autres nouveautés de Revolution 2

Revolution était déjà très complet en version 1.1.1. Mais un certain nombre de nouveautés sont venues parsemer la mouture 2. La plupart d'entre elles ont déjà été citées dans ce test, mais je dois, pour être complet, vous donner celles qui me semblent encore importantes:

  • Revolution est maintenant compatible avec XML et Soap
  • les champs "texte" acceptent maintenant l'Unicode et le format RTF
  • un champ liste peut contenir des cellules et se comporter un peu comme un tableur
  • des outils sont désormais disponibles pour capturer de la video
  • des améliorations ont été apportées aux outils Internet
  • comme à chaque nouvelle version d'un produit, de nombreuses commandes et fonctions ont été ajoutées

Facile à prendre en mains, Revolution?

Si la prise en main est magnifiquement réalisée dans ce logiciel (il vous faut absolument passer par les didacticiels, qui vous font faire le tour du propriétaire, et cela relativement rapidement), si la documentation générale en hypertexte est extrêmement riche, il se trouve qu'elle est un peu fouillis, et qu'au début, il est parfois difficile de s'y retrouver. En effet, la documentation est disséminée dans diverses piles. Trop jusqu'à il y a peu.

Fort heureusement, depuis la version 2.0.1 (ce n'était pas encore le cas en 2.0, rien que pour ça, cette petite mise à jour en valait la peine, merci RunRev!) un plugin intitulé "Search Revolution Documentation" vient à notre secours, puisqu'il permet d'aller chercher, dans toutes les piles de documentation en même temps, où se trouve un terme donné.

aaaaaahhhh... ça fait du bien...

Notez l'arrivée d'un type de documentation particulier intitulé "Transcript CookBook" signifiant à peu près "le livre de recettes de Transcript", et qui fonctionne justement, comme son nom l'indique, à bases de recettes du type "Recette pour un menu à base de vos cartes", "Recette pour un générique (texte déroulant dans une fenêtre)" etc...

Une autre base est fondée sur les "How to...": Comment se connecter à une base, comment coloriser le texte d'un script, etc... C'est très pratique et instructif, mais bien évidemment, il n'y a jamais le "How to qu'on voudrait voir exister à un moment précis!"

Le dictionnaire de Transcript est fort complet, mais mériterait plus d'exemples à mon goût, et certains objets, en particulier les nouveaux, comme les "little arrows" pourraient être mieux documentés, notamment au niveau du comment les scripter ou intercepter leurs messages.

Néanmoins, j'attends avec impatience la possibilité de disposer de toute cette masse de données au format PDF, ou mieux encore (je sais, je suis ringard), sous forme imprimée. Ah, que ce serait beau, un vrai manuel bien lourd et bien encombrant!

Que peut-on encore améliorer?

Comme je l'ai déjà écrit plus haut, certaines fonctions d'annulation ne sont pas bien gérées (j'ai testé une version MacOS X). Il faut absolument corriger ce défaut le plus rapidement possible. C'est tout de mon point de vue, mis à part le fait que j'aimerais encore plus de didacticiels, en tout les cas un pour chaque module, comme le Report Builder, juste pour mieux comprendre comment ils fonctionnent à la base. Après, on se débrouille toujours.

Et bien entendu, comme pour tout langage de programmation, il y a des commandes qu'on aimerait trouver toutes faites, et qu'il faut encore inventer. Chaque nouvelle version d'un logiciel nous apporte satisfaction en partie à ce niveau. Revolution ne fait pas exception.

En conclusion

Runtime Revolution Ltd a fait du sacrément bon travail! De plus, le fait que l'entreprise ait racheté Metacard et par conséquent le moteur de Revolution ne peut qu'augurer d'un futur encore plus resplendissant dans les prochaines années.

De mon côté c'est décidé: Cuk Calcul Oral pour MacOS X, mais aussi pour Windows et pour Unix, en français et en anglais, vu les facilités offertes par ce logiciel pour porter un programme sur toutes les plateformes et pour le traduire en différentes langues, sera écrit avec Revolution.

Mieux encore: Frédéric Rinaldi, LE développeur d'extensions pour HyperCard a choisi son camp: pour lui, le futur, c'est Revolution, qu'il est en train de traduire en français.

Quand je vous dis que nous avons là dans les mains, un programme de toute grande qualité!

Et vous pouvez le tester en version Free Edition gratuitement. Vos scripts ne pourront pas dépasser dix lignes, mais les trucs donnés par Runrev vous montreront que même avec ces limitations, vous pouvez aller assez loin dans la complexité d'un projet.

Si seulement cet article pouvait vous donner l'envie de commencer à programmer!

Un commentaire
1)
xApple
, le 13.12.2004 à 19:03
[modifier]

ouais, c’est carrément mortelle Revolution !
j’ai fait mon travail de maturité (eh oui cette belle saloperie) avec en programmant (tout seul) un BomberMan jouable par TCP/IP que ce soit, par example, entre un Mac et… ben.. un non-Mac
Vous croyiez que programmer c’etait le C++ ? Vous avez tout loupé ! il existe un monde ou tout est plus facile et plus rapide et… bref.. comme un Mac comparé a un PC