Wakanda : l'IDE 100% Web de 4D en version finale... et Open Source

Fruit de plusieurs années de travail, l'environnement de développement HTML5 répond aux problématiques de développement multiplate-forme. Comme d'habitude, 4D livre un serveur Web et une base de données maison.

En juin 2011, Thibaud Arguillère, Senior Software Evangelist chez 4D, nous livrait les premières informations sur le projet Wakanda (alors en version beta). Pile un an après, l'environnement de développement Web sort en version finale.

"Depuis, nous avons amélioré la couche d'accès aux données. Mais également la richesse de la bibliothèque de widgets HTML5 et CSS3. L'idée était de faciliter la création d'interfaces graphiques adaptées à la mobilité, et pas seulement à l'univers du Desktop, avec des widgets disposant de grilles de données et contrôles préparamétrés en fonction du type de terminal, tactile ou pas", explique Thibaud Arguillère. Objectif de l'éditeur : rendre son IDE multiplate-forme.

Outil de développement piloté par les modèles (Model Driven Development), Wakanda permet de définir des objets (métier et graphiques), et de les associer directement à un modèle de données. Une partie de la logique applicative est ainsi fusionnée avec la couche d'accès aux données. C'est JavaScript qui permet de faire le lien.

"Il n'est pas nécessaire ensuite de générer et optimiser du code en plus pour réaliser le mapping avec la base de données, comme c'est le cas quand on utilise des frameworks, type Hybernate", note Thibaud Arguillère. Une interface graphique permet de générer une partie du code, et définir ses classes. Un éditeur de code est là pour achever l'application. "L'intégration de la couche objets au code JavaScript est gage de performance", poursuit Thibaud Arguillère.


Un projet pilote au sein du Lawrence Livermore National Laboratory

Enfin optimiser le tout, 4D livre comme à son habitude l'environnement avec sa propre base de données et son propre serveur Web. Mais, l'éditeur prévoit de développer des connecteurs pour les bases Oracle et SQL Server, mais aussi pour MySQL. "Apache peut également s'intégrer au serveur Wakanda sous forme de proxy", précise Thibaud Arguillère.

Hormis pour l'éditeur de code, qui est écrit en C++, les interfaces graphiques de toutes les briques de l'IDE sont développées en HTML5 et CSS : éditeur d'IHM, éditeur de modèles, de formulaires, gestionnaires de menus, de fenêtres... "Pour permettre de réaliser des développements à 100% en mode Cloud, il n'y aurait qu'un pas", confie Thibaud Arguillère. Alors que Wakanda est pour l'heure disponible sur Windows et Mac, proposer un mode de développement dans le Cloud pourrait permettre à 4D "de recouvrir également le monde Linux".

Le produit est disponible dès jeudi 28 juin sous la forme d'une édition communautaire sous licence AGPL/GPL. Mais, cette version implique d'accepter de partager le code de son application. Un modèle qui ne manque pas d'originalité. En cas de développement propriétaire, il sera donc nécessaire d'opter pour la licence commerciale (au alentour de 29 euros par mois), qui donne également accès à un service de support personnalisé. 

Avec Wakanda, 4D cible à la fois les éditeurs d'applications en mode SaaS, mais également les DSI engagées dans des développements spécifiques. Parmi les références pilotes de Wakanda figure Lawrence Livermore National Laboratory (connu pour avoir déployé le supercalculateur le plus puissant au monde au premier semestre 2012). Le laboratoire de recherche américain s'est adossé à l'IDE pour créer une application de gestion du support technique informatique.