Modifier

Introdution

Et voilà, PCSoft® vient d'annoncer la sortie de la version 24 pour WinDev®, WebDev® et WinDev Mobile®. Tout les utilisateurs attendent avec impatience cette annonce pour savoir enfin si la fonctionnalité qu'ils attendent va être disponible.

Et comme chaque année, il y a du nouveau. Du bien et du moins bien mais il y a quand même de bonnes raisons pour acheter cette version. Pour moi, la principale raison, c'est l'intégration de WebDev dans WinDev. Je n'ai pas de chiffre, mais je pense que jusqu'à présent, WinDev était plus utilisé que WebDev, mais avec les outils qu'ils proposent, la société semble vouloir inverser la tendance et proposer tout ce qu'il faut passer d'une application desktop à une application web. Nous verrons dans les prochains mois si le pari est tenu.

N'ayant pas beaucoup d'expérience avec les autres outils de la gamme, je ne parlerai que des nouveautés liées à WinDev en plus de cette intégration de WebDev. Je traiterai cette liste dans l'ordre des nouveautés du pdf.

Les nouveautés

Nouveau champ - Le panneau dockable (Nouveautés 1 à 6)

Cette nouveauté est très intéressante. On fait un bond dans l'aménagement des interfaces graphiques. On avait déjà les onglets qui proposaient des possibilités très intéressantes, maintenant, on a les panneaux dockables qui risquent de détroner les onglets.

L'utilisation a l'air très simple. On peut directement créer les panneaux dans une fenêtre, mais on peut aussi utiliser des fenêtres internes. Je pense que l'idéal est d'utiliser des fenêtres internes pour permettre ainsi la réutilisabilité de la fenêtre interne dans d'autres fenêtres. En effet, vous n'abandonnerez pas vos centaines de fenêtre d'un coup, mais vous pouvez commencer à transformer vos fenêtres classiques en fenêtre interne et ainsi les utiliser dans un dock.

Et la combinaison fenêtre interne / agencement vous permettra de faire des interfaces adaptées à toutes les situations.

Je ne m'attendais pas à cette nouveauté, mais elle a du potentiel. Avec les écrans qui sont de plus en plus grands, on a de plus en plus de place et ce nouveau champ devrait trouver sa place dans vos applications.

Nouveau champ - Le champ à jetons (Nouveautés 7 à 11)

C'est une nouveauté moins intéressantes que le panneau dockable, mais il y a quand même des possibilités très intéressantes.

Usage dans les filtres

On peut l'utiliser pour filtrer l'affichage, que ce soit pour activer un filtre, mais aussi pour le désactiver.

Imaginez que vous souhaitez filtrer sur une ou plusieurs famille de client. Dans la liste des filtres, vous pouvez ajouter un champ avec un jeton pour chaque famille. Un clic sur le jeton active le filtre sur la famille, le jeton disparaît des filtres activables puis apparaît dans la liste des filtres activés. On évite ainsi à l'utilisateur de chercher une valeur dans une combo. Il semble aussi possible d'activer les jetons en les saisissant dans le champ de saisie.

Par la suite, l'utilisateur souhaite désactiver le filtre, il n'a qu'à cliquer sur la croix du jeton. Celui-ci disparaît et revient dans la liste des filtres activables.

Catégoriser les données

On peut aussi s'en servir pour catégoriser les données. On peut ainsi s'en servir comme tag dans un éditeur de note ou bien associer un client à une ou plusieurs familles.

Un champ utile

Au final, je pense que ce champ peut vous être utile. Il ne révolutionnera pas votre quotidien, mais il pourra donner une touche de modernité à vos applications tout en permettant de fluidifier la saisie des données par l'utilisateur.

Nouveau champ - Interrupteur à curseur (Nouveauté 12)

Pas grand chose à dire, ça ajoute un petit plus pour l'interface. Je pense que ça trouve plus son utilité dans les applications mobiles.

Evolution des champs traitement de texte, tableur et éditeur d'image (Nouveautés 15 à 31)

Le champ traitement de texte s'enrichit de nouveau. Il s'accompagne de nouvelles fonctionnalités. Les plus intéressantes à mon avis sont la possibilité d'avoir plusieurs colonnes de texte et l'éditeur d'image.

Le champ tableur lui ne bénéficie pas de grand chose (gestion des mots de passe).

Concernant le WLangage, il faudra surveiller la fonction OuvreDocument. Cette fonction vous permet d'ouvrir un document traitement de texte ou tableur dans une fenêtre gérée automatiquement par WinDev. Cette fonctionnalité devrait simplifier l'intégration des éditeurs dans vos projets.

Webisation de vos applications WinDev (Nouveautés 36 à 47)

N'utilisant pas vraiment WebDev sauf pour mes tests, la première fois que j'ai lu cette nouveauté en me disant, j'ai tourné la page en me disant que ça ne m'intéressait pas.

Mais en écrivant cet article et en relisant avec attention le pdf, je me rends compte que c'est LA nouveauté de cette version 24. Si vous souhaitez convertir vos applications WinDev en application web, cette version est faîte pour vous !

Déjà, le simple fait de pouvoir ouvrir vos projets Webdev dans WinDev, c'est un gros plus. Mais en plus de cela, cette nouvelle version semble proposer toutes sortes d'outils vous permettant de "transformer" vos fenêtres en pages.

A elle seule, cette nouveauté peut justifier l'achat de cette version. Mais attention, en me basant sur l'intégration de WinDev Mobile à WinDev dans la version 23, il vous faudra certainement vous acquitter d'une licence WebDev pour utiliser cette fonctionnalité.

Méthodologie : Découpage code IHM de votre existant (Nouveautés 48 à 52)

Une amélioration concernant la qualité du code, c'est formidable !

Si vous lisez mon blog depuis quelques temps, vous devez savoir que je suis un fervent partisan du code de qualité. Pour moi, un code de qualité, c'est déjà un code qui respecte le principe de responsabilité unique. Un code qui touche et l'IHM et la partie métier, c'est un code qui viole ce principe. Pourquoi mélanger la partie métier de votre application dans la partie IHM ?

Et bien, cette nouveauté semble proposer un ensemble d'outils de refactoring qui vous permettra d'extraire la partie métier du reste de votre code. Et cette méthodologie vous permettra de vous simplifier la vie lorsque vous souhaiterez ajouter une interface web à vos applications.

Je n'attendais pas cette fonctionnalité, mais je la trouve excellente. Il reste à voir si elle tient ses promesses. Si c'est le cas, il est possible que j'y consacre plusieurs articles concernant la qualité du code.

GDS (Nouveautés 93 à 97)

On découvre quelques nouveautés intéressantes pour le GDS.

Extraction silencieuse

On commence par l'extraction silencieuse qui permet d'éviter d'avoir une fenêtre qui s'ouvre chaque fois que l'on souhaite modifier un fichier non extrait. Pour ma part, cette fenêtre m'a toujours posé problème. Elle m'a toujours fait perdre plusieurs secondes lorsque j'éditais un élément qui n'était pas extrait. Dans le meilleur des cas, cela me prenait une ou deux secondes mais dans le pire des cas (en utilisant la touche Tabulation par exemple), je modifiais l'onglet courant de cette fenêtre et je me retrouvais à afficher l'historique ou je ne sais quelle fenêtre. Dans ce dernier cas, je fermais la fenêtre pour recommencer la modification en douceur (j'ai la flemme d'appuyer sur le bouton Extraire).

Partage de répertoires entre GDS différents

J'utilise un GDS à mon travail mais aussi un GDS Drive pour ma micro-entreprise. Il m'arrive d'utiliser un élément de l'un vers l'autre (en générale, je réutilise ce que je développe pour ma micro-entreprise). Lorsque je souhaitais réutiliser un élément, j'étais obligé de l'enregistrer en dehors du GDS et ainsi de perdre le lien avec la version du GDS. Et à chaque mise à jour de cet élément, je dois manuellement refaire l'extraction. Je ne vous raconte pas les erreurs que j'ai rencontré. Grâce à cette nouveauté, je pense que je rencontrerai beaucoup moins de soucis.

Meilleure gestion des commentaires

J'utilise énormément les commentaires dans le GDS. Si vous ne le faîtes pas, je vous invite à revoir votre copie. Les commentaires permettent de mieux s'y retrouver quand on navigue dans l'historique du GDS. Le fait qu'ils ajoutent des fonctionnalités autour des commentaires ne peut être qu'un bien.

Editeur de code (Nouveautés 98 à 104)

Il y a quelques nouveautés intéressantes. En vrac :

  • on aura la nouveauté 100 qui permet de mieux s'y retrouver dans les syntaxes différentes (à voir si ça ne marche qu'avec les fonctions du WLangage ou si ça fonctionne avec nos propres fonctions)
  • La nouveauté 101 qui va permettre de gagner un temps précieux. On pourra désormais inverser les affectations.
  • Le renommage intelligent avec la nouveauté 103. Le refactoring, c'est bien

WLangage (Nouveautés 109 à 147)

La nouveauté 109 est intéressante. Elle permet d'appeler les fonctions sur les variables en fonction de leur type. Ce n'est pas encore de la POO, mais la syntaxe s'en rapproche. On devrait ainsi pouvoir faire des choses du style MaDate.VersChaine("AAAAMMJJ") ou bien encore MonTableau.Cherche(tLinéaire, "valeur recherchée").

J'espère que tous les types seront reconnus.

La nouveauté 110 avec le type JSON me fait penser à la gestion du XML dans WinDev. En gros, on ne travaillera plus avec des variants mais avec des JSON.

La nouveauté 120 permet d'intégrer des fichiers à l'exécutable. Cette technique était possible auparavant, mais je crois qu'elle était dure à mettre en place (je ne l'ai jamais utilisée). Je pense que ça peut être utile de placer certains fichiers dans l'exécutable.

Je suis curieux de voir en détail le fonctionnement des attributs sur procédure (nouveauté 121). Je ne peux pas encore me prononcer, mais c'est une nouveauté à surveiller et à tester.

Les nouveautés 127 à 129 concernant la sécurité sont bonnes à prendre. Je n'ai eu à utiliser qu'une seule fois un système de clé publique / clé privé et c'était galère à mettre en place. Espérons que ça fonctionne tout seul désormais.

Et enfin, on trouve quelques fonctions intéressantes : Hier et Demain pour manipuler les dates. J'espère que l'on pourra faire MaDate.Hier() et MaDate.Demain()

En vrac

Deux fonctionnalités qui m'ont paru intéressantes :

  • Fonction 227 pour gérer des points d'arrêts conditionnels. Avant, on utilisait la syntaxe SI ... ALORS STOP
  • On peut désormais créer des exe console avec la nouveauté 299. Enfin ! On peut créer des applications sans IHM.

Conclusions

J'ai trouvé cette nouvelle version très intéressante. La grande révolution de la webisation ne concernera pas tout le monde, mais je pense qu'elle va en intéresser plus d'un. Comme souvent, on achète une version sur deux, cette version couplée avec les nouveautés de la 23 vous apportera quelques surprises par rapport à la version 22 que beaucoup d'entre nous utilisent.

J'ai vu l'information passer sur un forum, la version Express de WinDev semble désormais être en 23. N'hésitez pas à la tester pour vous faire un avis.

J'espère que je pourrais mettre la main sur cette version 24 pour voir son fonctionnement plus en détail.

Si vous le souhaitez, n'hésitez pas à donner votre avis via commentaire et à partager cet article.

Merci pour votre lecture.

Article précédent Article suivant