TwinXeon by Renaudet
/Accueil/Tous les articles
Une librairie JavaScript pour réaliser des interfaces NO_HTML
Introduction

Lorsque j'ai commencé le développement de mes outils pour le bureau virtuel de TwinXeon (voir l'article sur TwinXeon Virtual Desktop ici), j'ai assez rapidement compris que ce qui me prenait le plus de temps de développement était en fait la partie HTML de l'application. La logique applicative ne représentait en générale que le tiers du temps passé à coder.

J'ai alors commencé un développement qui allait tout changer : un prototype d'outil graphique (toujours pour le Virtual Desktop) permettant de générer du code Java côté serveur, de le compiler et de l'exécuter à distance.


Un 'automate' configuré graphiquement via le TwinXeon State Machine Manager

Même si je n'ai jamais vraiment terminé le développement de cet outil (pourtant fonctionnel), il en est sorti une librairie de composants graphiques AWT-like pour le Virtual Desktop présentée dans cet article. Cette librairie est à ce jour suffisamment abouttie en terme de richesse de composants pour pouvoir envisager des interfaces complexes comme celle de l'Application Builder de TwinXeon.


L'application TwinXeon Application Builder utilise cette API à 100%


Cependant, cette librairie était étroitement intégrée à mon Virtual Desktop, si bien qu'il était impossible de l'utiliser en dehors du contexte d'une application fenêtrée s'exécutant sur le Virtual Desktop.

J'ai alors décidé de ré-écrire entièrement cette librairie. Le but étant de permettre l'exécution d'applications directement dans n'importe-quelle DIV d'une page HTML quelconque.

L'API du Virtual Desktop reste quasiment intacte, en particulier son aspect 'AWT-like'.

La librairie JavaScript Application Framework

Le projet a commencé début 2015 par une recopie globale des librairies du Virtual Desktop, puis par la migration, composant par composant.
Cette fois, j'ai décidé de créer une application de démonstration permettant de tester les composants en situation :


L'application de test démontrant déjà 13 composants

A ce jour, les composants suivants ont été migrés :
  • Label
  • EditField
  • Button
  • Checkbox
  • RadioButton
  • TextField
  • SpinEdit
  • List
  • HorizontalJauge
  • VerticalJauge
  • HorizontalCursor
  • OnlineControl
  • Canvas
  • ImageCanvas
Je mettrais cette liste à jour en fonction de mes développements.

A noter que la migration m'a permis de corriger des bugs, mais surtout de rajouter pas mal de fonctionnalités à ces composants. Il y a maintenant une vrais gestion de la touche tabulation qui permet de s'affranchir de la souris pour beaucoup de composants. Les composants de saisie de texte peuvent être customisés pour accepter différents claviers (QWERTY, AZERTY...). Dans un premier temps je fournirai les drivers pour les claviers dont je dispose, mais il n'est pas exclu que je développe une application de gestion de clavier de type 'communeautaire'

Mise à disposition

Comme toujours, le code de cette librairie sera entièrement accessible et libre de droits. C'est un principe sur TwinXeon. Les sources JavaScript ne sont pas obfusqués mais il n'y a pas beaucoup de commentaires.

Pour télécharger les fichiers individuels, c'est ici. Une documentation d'installation suivra bientôt.


Ajoutez votre commentaire :
  Votre pseudo :
  Votre adresse mail (obligatoire):
  Votre commentaire :
 
Site optimisé pour un affichage en 800x600 sous Firefox 8.x - ©Copyright 2011-2012 by Nicolas Renaudet