Peut-on réellement développer 10 fois plus vite avec Windev ?

Après une longue pratique de Windev, peut-on affirmer comme le prétend la publicité de PCSOFT que l'on peut développer 10 plus vite ? La réponse est oui, si vous savez tirer profit des avantages de Windev.

Il faut d'abord situer Windev dans le paysage des langages de développement. C'est un langage à part, principalement franco-français, qui n'est pas ou peu enseigné dans les écoles et qui ne figure pas dans les baromètres de langages de programmation. Voici 4 baromètres de langages, il ne figure sur aucun :

Pour autant, c'est un langage très apprécié de ses utilisateurs, dont nous faisons partie.

La stratégie marketing de PCSOFT est très active pour faire connaitre son environnement en France. Elle est basée sur de nombreuses publicités dans les magazines et même à la télévision (campagne sur TF1, M6 ou C8), de nombreux gadgets et supports (crayons, poster, autocollants, ...) fournit avec les versions de Windev et le magazine LST et une quantité importante de courrier par voie postale. Sans parler du caractère sexiste du contenu des publicités et de certains supports.

Les développeurs de tous horizons, dont la formation est basée sur des langages comme Java, C/C++ ou .Net, HTML, CSS, Javascript, etc..., sont surpris lorsqu'il découvrent le WDLangage de Windev. Bien qu'il s'agisse d'un langage plutôt simple, et qui peut s'écrire en anglais, c'est un langage créé en français, ce qui le marginalise immédiatement puisque tous les langages de programmation sont en anglais.

Ensuite, bien que Windev puisse s'interfacer avec beaucoup de bases de données (SQL Server, MySQL, PostGresSQL, AS/400, etc...), il a été créé initialement pour la base de données propriétaire HFSQL (anciennement HyperFile). De ce fait, les ordres natifs pour manipuler les données de type HLITPREMIER, HLIRECHERCHE, etc..., sont spécifiques et déroutent facilement des développeurs qui ne connaissent que le langage SQL. La logique de manipulation des données est donc assez différente, même s'il est aussi possible de programmer avec le langage SQL. Il faut donc distinguer la partie de l'environnement Windev, faite pour Windev lui-même et les "extensions" destinées à attirer les développeurs des autres technologies. Par exemple, il est possible de faire du JAVA, du .NET, de l'UML, etc... 

Partant de ce constat, pour savoir si l'on peut développer réellement 10 fois plus vite, ce qui est assez difficile à mesurer, le plus simple c'est d'identifier les avantages de Windev par rapports aux autres environnements de programmation qui font réellement gagner du temps.

Voici pour moi ces avantages de Windev :

Une très bonne intégration avec Windows

Windev est un environnement très adapté pour faire des applications de gestion fonctionnant sous Windows. Une application développée avec une ancienne version de Windev, fonctionnera très bien sous Windows 10, sauf peut-être pour des problèmes de résolution d'écran. A titre d'exemple, j'assure encore aujourd'hui la maintenance d'une application développée en Windev 5.5 et elle fonctionne très bien sous Windows 10. Les migrations des projets vers les dernières versions de Windev se font très simplement et permettent de bénéficier des nouveautés, sans perdre de temps. Avec d'autres environnements de développement, cette migration entre version et la compatibilité avec toutes les versions de Windows est une perte de temps souvent très importante. Il y a souvent des "ruptures technologiques" qui obligent à réécrire complètement une application. Je parle ici de projets qui s'étalent sur plusieurs années, bien évidemment.

Un mécanisme de migration des données HFSQL

Depuis que je développe des applications de gestion avec Windev, je n'ai jamais trouvé de mécanismes équivalents dans d'autres environnements. Ce que PCSOFT appelle aujourd’hui la "synchronisation de la structure et des données déployées" est un mécanisme unique, qui fait gagner un temps très important. Ce mécanisme ne fonctionne que sur les bases de données HFSQL. Il permet de faire évoluer la structure de sa base de données (au travers de l'analyse dans WINDEV) sans se soucier des mises à jour sur les serveurs de production. La mise à jour se faire automatiquement lors de l'installation d'une mise à jour de l'application. Cela évite de développer des scripts SQL à n'en plus finir, ce qui prend énormément de temps, si vous faites évoluer souvent votre base de données.

Un langage simple, complet et compact

En dehors de la programmation des accès aux données, spécifique à Windev, qui nécessite un apprentissage particulier, il s'agit d'un langage très simple dans lequel on retrouve tous les concepts de programmation des autres les langages et environnements. Le langage de Windev permet d'accéder à toutes les technologie (API, DLL, email, FTP, Webservices, JSON, etc...) et cela de façon conpact, c'est avec avec un nombre de lignes de code assez réduit comparé à d'autres langages de programmation. Même s'il peut y avoir un peu de retard, PCSOFT propose souvent dans ces mises à jour l'intégration des dernières technologies. Les nombreux exemples fournis avec Windev et la LST sont aussi une source très utile pour des technologies complexes, ce qui fait gagner la encore beaucoup de temps. 

Un cycle de développement assez court

Une autre chose qui fait gagner énormément de temps, c'est la capacité de faire du maquettage et du développement dans le même environnement. Le RAD de Windev est un gadget, qui bien utilisé, me fait gagner beaucoup de temps dans la phase d'étude d'un projet. Les maquettes des écrans que l'on peut réaliser facilement avec les utilisateurs selon une "approche agile", permettent de développer directement à partir de la maquette sans perdre du temps à redessiner des écrans en phase de développement.

Des modes de déploiement simples et efficace

Pour déployer une application développée avec Windev, il y a plusieurs façons de faire. La plus efficace est sans aucun doute, le déploiement en réseau avec une version de référence. Ce peut être à partir d'un serveur interne sur un LAN ou via Internet avec le déploiement via HTTP. Ce dernier mode nécessite de gérer soit même un serveur de déploiement, mais le temps gagné est aussi très important. Lorsque l'on a de nombreux projets à gérer, cela permet de déployer rapidement. Par ailleurs, dans une approche agile, on peut déployer la maquette dans la phase d'étude du projet, puis les mises à jour pendant la phase de développement et les mises à jour en maintenance, en gardant le même système de déploiement.

Une maintenance facilitée

Un projet Windev est en général intégré dans un ou plusieurs projets gérés entièrement avec l'environnement de développement. Si vous ne faites pas appel à des bibliothèques externes et si vous restez dans la philosophie des projets Windev, la maintenance des applications est très facile. Les lignes de code sont datées, le GDS permet d'accéder facilement à l'historique du code. Si vous avez de bonnes habitudes de programmation en nomment vos objets de façon lisible et en programmant en pensant à la maintenance future, la maintenance devient très facile. Très souvent j'interviens sur de nombreux projets en maintenance et je corrige facilement les bogues, notamment aussi grasse un débogueur intégré très puissant.

Conclusion

En conclusion, dire que Windev permet de développer 10 fois plus vite est tout relatif. Je pense qu'un développeur qui maîtrise très bien son langage et son environnement de programmation, va forcément très vite, quel que soit le langage. Windev est un langage qui nécessite moins de lignes de codes et qui à certains avantages qui bien exploités font gagner énormément de temps. Au final sur un projet, même si Windev permet d'aller "seulement" 2 fois plus vite, c'est déjà énorme de diviser par 2 les coûts de développements.

Commentaires