L’EDI lui-même a subi une cure de rajeunissement renforcée par une meilleure efficacité. La présentation de l’espace de travail est plus claire et plus homogène. Ceux qui restent longtemps à travailler sur écran apprécieront les nouveaux thèmes plus reposants et une meilleure organisation des options. Les éléments à créer sont mieux présentés tout comme l’outil GetIt qui comprend à présent des listes déroulantes. Même la petite fenêtre qui apparaît lors de la compilation a été revue pour en montrer de manière claire le résultat, avec un récapitulatif très lisible des conseils, avertissements et erreurs. À noter aussi la cure de jouvence du wiki avec son nouveau thème.
Du point de vue des fonctionnalités, la complétion de code a été améliorée ainsi que la prise en charge des très grands projets. Selon Embarcadero, la recherche de la qualité a été privilégiée (ce qui correspond, au moins pour les intentions, à ce qu’attendent les utilisateurs de Delphi !). Parmi les autres changements, on relèvera l’utilisation de .NET 4.X (au lieu de la version 3.5) et du SDK Windows d’avril 2018, une amélioration des performances du LiveBindings (notamment pour les fiches volumineuses), l’inclusion de certains éléments de l’IDE Fix Pack dAndreas et le partage des démonstrations sur GitHub.
Outre une amélioration des performances des compilateurs, le langage présente lui aussi des évolutions notables avec la recherche d’une plus grande stabilité (un autre mot-clé des utilisateurs depuis des années !). Nous avons déjà signalé les variables inline et l’inférence de type, ainsi que les enregistrements gérés avec constructeur, destructeur, et un opérateur de copie. L’abandon du modèle ARC est confirmé, sauf pour les compilateurs pour mobiles. Conséquence indirecte : le compilateur Linux sait désormais gérer les AnsiString et AnsiChar.
La RTL (donc les fondations du langage) connaît des corrections visant à de meilleures performances : les structures de données adoptent une stratégie plus efficace et plus souple pour leur accroissement, TStringBuilder et TMemIniFile sont améliorés tout comme le traitement JSON (par ailleurs corrigé de quelques bogues), les listes génériques voient leur vitesse multipliée par 3 en cas d’addition d’éléments, les expressions régulières gèrent l’UTF-16 sur Windows et la bibliothèque Zlib a été mise à jour.
La VCL pour le développement Windows évolue autour de nouveaux composants tournés vers la gestion des images DPI-aware. La multi-résolution, le canal alpha et les bitmaps/PNG en 32 bpp sont pris en charge. PerMonitor v2 de Windows 10 est supporté et un nouveau modèle GetSystemMetrics est proposé. Notons aussi l’ajout d’une douzaine d’unités WinRT pour suivre l’évolution du système d’exploitation. Enfin, le nouveau composant TWindowsStore intéressera tous ceux qui comptent vendre leurs produits.
Android ayant évolué du point de vue des permissions, FireMonkey se devait de suivre les nouvelles préconisations. La version 26 est prise en charge, ce qui pourra induire quelques modifications du code. L’ordre Z et les contrôles natifs d’Android sont enfin à l’ordre du jour : l’utilisateur pourra mélanger les contrôles stylés et natifs. Parmi ces derniers, citons TSwitch, TEdit, TCalendar et TMultiview. Quant à des composants comme TWebBrowser ou TMapView, ils adopteront les thèmes à partir d'Android 5.0.
Du côté d’iOS, la version 12 est prise en charge, la simulation accepte la version 10 et les nouveaux iPhone sont des cibles acceptées. Ne soyons pas trop cruels avec la version 64 bits du compilateur reportée à une mise à jour ultérieure…
FireDAC et les bases de données ne sont pas en reste avec des mises à jour pour MySQL, MariaDB, SQL Server, PostgreSQL, FireBird, MongoDB, Interbase, SQLite et SQL Anywhere. Deux nouveautés sont par ailleurs indiquées : TClientDataSet.IncludeBlobsInDelta et, du côté de DataSnap, la propriété TDSRestConnexion. SecureProtocols.
D’autres évolutions et nouveautés concernent les bibliothèques clients HTTP et REST. De même, on notera un émulateur pour le stockage Cloud Azure. Ces éléments étant peu documentés, nous attendons les retours de ceux qui seront tentés par ces aspects particuliers du produit.
La nouvelle politique des licences d’Embarcadero est confirmée, en particulier avec le maintien de l’édition gratuite Community chargée de relancer le développement avec Delphi : pour rappel, en dehors des limitations commerciales, elle est l’équivalent de la version professionnelle et permet entre autres de développer pour les mobiles. Seuls les détenteurs d’une édition Architect voient une évolution notable de l’offre avec l’ajout d’AquaFold Aqua Data Studio (gestion de bases de données), de Ranorex Studio (outils d’automatisation de tests) et surtout une licence Sencha Ext JS Professional Edition pour la construction de clients Web.
Source : Embarcadero
Que pensez-vous de cette évolution de Delphi ?
L'édition Community vous incite-t-elle à tester cette nouvelle version ?