Nouveautés de WinDev 23

Publication des nouveautés

Les voilà !!! Les nouveautés annoncées par Windev 23 ! C'est un grand moment dans la vie d'un développeur Windev car c'est ce fichier PDF qui va nous permettre de décider si l'on passe à la nouvelle version ou si l'on conserve celle que l'on a.
On verra d'un côté ceux qui sont heureux, ils ont enfin la nouveauté qui leur manquait. On verra aussi les moins-heureux, qui n'auront pas de nouvelle fonctionnalité à leur goût.
En gros, ce fichier PDF, c'est un gros sapin de Noël. Va-t-on être content de ce que l'on trouve ?

Lire les nouveautés de Windev 23

Mon avis général

Globalement, je peux dire que je suis assez content. Il y a des nouveautés qui m'intéressent. Je suis toujours à la recherche de LA fonctionnalité et ça m'arrive de la trouver dans ces brochures.

Les nouveautés qui me plaisent

Au cas où quelqu'un l'ignorerait, il n'y a pas 923 nouveautés. C'est une astuce commerciale. PCSoft a une vision du marketing assez poussée. Des fois, c'est bien, des fois, ça ne l'est pas. Mais on ne peut pas plaire à tout le monde.
Pour ma part, j'ai sélectionné 17 nouveautés qui m'intéressent. Elles peuvent paraître peu intéressantes, noyées dans ces 923 paragraphes, mais je vous conseille quand même d'y jeter un petit coup d’œil. Et si ça se trouve, je suis passée à côté d'une superbe nouveauté, juste parce que je n'ai pas réalisé son utilité.

C'est parti !

Import de classe et collection de procédure texte

  • Nouveauté 156

Attention, suivant comment fonctionnera cette fonctionnalité, ce sera peut-être LA fonctionnalité de Windev qui m'intéresse le plus.

Si l'import fonctionne de la même manière que le mot clé EXTERNE, alors, jackpot. Si l'import permet simplement de créer des classes et des procédures, pas beaucoup d'intérêt à mon goût.

Dans tous les cas, c'est à surveiller.

Champ disposition

  • Nouveautés 1 à 5

J'attendais l'équivalent de ce champ depuis des années. Dans les autres langages, on les appelle des "layouts".
Boucher les trous, c'est l'objectif principal de ce champ. Il permet aussi d'uniformiser l'IHM car il semble gérer l'espacement entre les champs.

Les avantages :

  • On ne s'embête plus à coder le déplacement des champs pour masquer les trous (Nouveauté 1)
  • On ne s'embête plus à positionner les champs au pixel près pour qu'il y ait le même espacement entre eux (nouveauté 5).
  • Si on agrandit par programmation un champ, les autres sont décalés automatiquement. (nouveauté 2)
  • On peut imbriquer des champs dispositions entre eux. (nouveauté 3)

Windev nous propose les layouts les plus standards (horizontal et vertical). Les autres langages qui fonctionnent avec ce système en proposent en général beaucoup plus (grille par exemple). Mais couplé avec l'éditeur d'IHM de Windev, je pense que ça fera bien le boulot.

Les procédures internes

  • Nouveautés 139 à 143

Si vous lisez mon blog, vous remarquerez que j'adore les procédures internes. Avec ces améliorations, les procédures internes arrivent à maturité. Plus besoin d'utiliser une variable de type procédure pour utiliser la procédure interne dans une autre procédure.

Nouveau type : Requête SQL

  • Nouveautés 116 et 117

A voir.

Si c'est simplement une variable de type chaine qui apporte la coloration syntaxique, je reste sur ma faim.

Si elle peut être utilisée en lieu et place d'une source de données, ça peut être intéressant.

Par contre, si cette variable permet de remplacer un fichier wdr et si vous utilisez les fichiers wdr, n'hésitez pas. Remplacez les tous par des variables. En effet, 10 requêtes = 10 fichiers wdr. Avec ce nouveau système, 10 requêtes = 1 seul fichier (fenêtre, collection de procédure, classe, etc). Faîtes le ménage !

La POO dans les champs

  • Nouveauté 121

J'ai toujours été surpris que les champs ne soient pas plus orienté objet que ça. Ils commencent à réparer cela dans cette fonctionnalité.

Un des avantages les plus visibles, c'est la simplification du code. Plus besoin d'écrire la fonction ZoneRépétéeSupprimeTout(MaZoneRépétée). On pourra désormais écrire MaZoneRépétée.SupprimeTout(). Indispensable, non ?

Un possible second avantage, c'est de coupler cela avec une variable de type champ. On pourra peut-être utiliser la syntaxe MonChamp.Ajoute(...) sans se soucier que ce soit un champ de type Table, Liste, ou ZoneRépetée. Si c'est le cas, on pourra factoriser du code !

Rubriques et procédures zombies

  • Nouveautés 103 et 133

On marque des éléments comme obsolète. C'est très utile lorsqu'on souhaite faire du nettoyage de code ou de la factorisation. C'est donc indispensable.

Fini les doubles crochets

  • Nouveauté 129

On améliore la lisibilité du code. Indispensable !

Nommage des plans

  • Nouveauté 83

Jusqu'à présent, j'utilisais une constante pour nommer les plans. Ce qui se rapproche de ce principe. Sauf si la complétion automatique le propose, je continuerai d'utiliser une constante. Sauf que ce sera désormais une chaine de caractère, plus simple pour le débogage.

Événement lorsqu'on saisit une recherche

  • Nouveauté 55

C'est à tester !

Imaginez, l'utilisateur commence à saisir quelque chose dans la recherche, une fenêtre s'ouvre et cela lui permet de modifier les options de recherche sur cette fenêtre.

On peut aussi envisager de lier des champs entre eux. Rechercher dans un champ permet de chercher dans plusieurs champs (par exemple : une colonne nom et une colonne prénom).

Tout ce qui permet de programmer le comportement des tables est la bienvenue.

Paramètres temporels plus lisibles

  • Nouveauté 118 et 119

Tout ce qui améliore la lisibilité du code est indispensable. Plus besoin de se souvenir si une fonction demande des secondes ou des centièmes. Cela diminue le risque d'erreur.

Évolution du mot clé AVEC

  • Nouveauté 122

Le mot clé AVEC permet de définir un contexte de travail. On retrouve cette notion dans d'autres langages de programmation. Dès qu'on sort de ce contexte, on libère les ressources préparées spécialement pour ce contexte.

C'est un mot clé qui permet de diminuer les erreurs. En effet, un contexte permet d'encadrer le code et donc de le rendre plus lisible et plus simple.

Meilleure assistance sur les procédures

  • Nouveauté 159

Le fait de proposer la complétion en mode contient plutôt qu'en mode commence par, c'est une excellente idée.

Perso dossier dans les classes

  • Nouveauté 163

Le rangement, ça ressemble à du nettoyage. C'est indispensable.

GDS

  • Nouveautés 106 à 112

Des améliorations sur les branches du GDS ? J'espère que ça va me permettre de les utiliser. Jusqu'à présent, j'ai toujours été assez sceptique avec les branches. Pas assez pratiques à mon goût. J'espère que ces nouveautés changeront la donne !

Tables inaltérables

  • Nouveautés 184 à 187

Beaucoup d'entre nous sommes concernés par les nouvelles lois. On peut espérer que cette fonctionnalité permette de mettre en place en toute simplicité ces nouvelles directives.

Erreur de norme de programmation

  • Nouveauté 219

Il est écrit que ça permet un code plus propre. C'est donc indispensable, non ? A vérifier quand la fonctionnalité sera en place. C'est un peu vague.

Base big data MemCached

  • Nouveauté 191

Je suis intrigué par cette nouveauté. Rien de plus à dire. Quand elle sera disponible, j'irai la tester.

Pour conclure

J'espère que cette revue vous permettra de comprendre une fonctionnalité que vous auriez sous-estimée à la première lecture.

Et vous, que pensez-vous de ces nouveautés ? Dîtes-moi ce qui vous plait le plus dans cette nouvelle version.

Cet article vous a intéressé ? Vous voulez en savoir plus ? Suivez le lien !

Jonathan Laurent

Read more posts about this author.

Comments