Créer des interfaces graphiques en Lua avec wxWidgets

Il existe des liaisons (bindings) en Lua pour utiliser la plupart des outils dédiés à la conception d'interfaces graphiques (GTK+, Qt, FLTK, tekUI, Java). Parmi elles, wxLua vous permettra de tirer parti de wxWidgets. Cet outil développé par John Labenski en 32 bits est très stable et simple d'utilisation.

En revanche, il a peu évolué. La version mise à disposition sur le site officiel ne prend pas en compte les fonctionnalités les plus récentes de wxWidgets et de Lua. Et son portage en 64 bits peut s'avérer délicat.

Une version supportant Lua 5.3 et  wxWidgets 3.1+ a été mise à disposition récemment sur Github par Paul Kulchenko, le créateur de l'éditeur Lua Zerobrane Studio.  À suivre donc.

 

 


"Pour moi, la programmation avec wxLua était ÉVIDENTE"

 

Claude Urban est l'auteur d'une adaptation libre en français du Lua 5.2 Reference Manual de Roberto Ierusalimschy publiée sur Developpez.com et du site wxLua et wxWidgets : mode d'emploi.

(26/05/2016)

 

Bonjour Claude, pourriez-vous brièvement vous présenter ?

Je suis électronicien de formation, niveau BTS… mais ça, c’était dans les années 60… J’ai commencé à m’intéresser à l’informatique dans les années 80, au début de la micro-informatique. J’ai terminé ma carrière professionnelle à 50 ans, volontairement, en qualité de directeur d’une unité de SAV chez un grand distributeur. Puis je suis parti à l’aventure, pendant environ 10 ans… au Sénégal. De retour en France donc, et après avoir emménagé à Mandelieu-la-Napoule d’où je vous écris en ce moment, j’ai approfondi mes connaissances en informatique et j’ai commencé à me passionner pour la programmation.


Comment avez-vous découvert Lua ? Et pour quel type de projets avez-vous commencé à l'utiliser ?

J’ai découvert Lua, comme beaucoup d’aficionados de jeux vidéo, via World Of Warcraft et ses fameux Addons. Comme je suis curieux de nature et que j’aime comprendre le pourquoi du comment des choses, j’ai donc approfondi et découvert Lua, que je ne connaissais pas du tout. Et je me suis lancé, uniquement pour mon utilisation personnelle, dans la fabrication de mes propres Addons. Puis j’ai cherché, dans le but de pouvoir faire des programmes à part entière, s’il y avait un moyen d’utiliser ce langage autrement que par l’intermédiaire de WoW ou d’un autre jeu.

Et je suis tombé, par hasard, comme bien souvent… sur wxLua. Ce qui répondait à l’époque, exactement à ce que je recherchais.

D’autant plus qu’il existe un site français très bien fait qui est dédié uniquement à wxWidgets. Ce qui facilite un peu les choses…


Il y a quelques années, vous avez créé un site dédié à l'emploi de wxLua et wxWidgets. Qu'est-ce que wxLua et à quoi ça sert ?

WxLua est un wrapper utilisé pour exécuter les classes de la bibliothèque graphique wxWidgets. Un wrapper est un programme qui enveloppe un programme différent, permettant ainsi son exécution dans un environnement spécifique. Ça permet tout en utilisant Lua de faire toutes sortes de choses de façon extrêmement simple et évidente via une GUI.

À l’époque il n’existait pas beaucoup de sites dédiés à ce langage et le peu qui existait était en anglais. J’ai donc souhaité partager ma découverte de wxLua, d’où la création de mon site. Mais wxLua n’a pas eu le succès que j’escomptais. Paradoxalement, c’est le paragraphe de Lua qui est le plus fréquenté. C’est vraiment dommage de passer à côté de cette possibilité d’utiliser cette bibliothèque graphique extrêmement complète et très bien faite. Mais bon, c’est comme ça !


Quelles sont les avantages de cette solution ?

Facilité de programmation. Simplicité de l’API. Langage très intuitif clair et facile à mettre en application. C’est un langage qui me parlait… je ne sais pas comment expliquer. Pour moi, la programmation avec wxLua était ÉVIDENTE, ça coulait de source. Un vrai plaisir.


A qui recommanderiez-vous l'emploi de Lua et wxLua ?

Oh ! à tout le monde. Et plus particulièrement peut-être, à ceux qui débutent dans l’apprentissage de la programmation.


Merci Claude pour vos réponses !

 


Pour plus d'informations


> Site officiel de wxLua http://wxlua.sourceforge.net/

> Documentation (en anglais) de la version officielle de wxLua

> Portail francophone dédié à la programmation wxWidgets

> Le guide de Lua et ses applications