Ce que nous réserve Embarcadero pour les prochaines versions de RAD Studio, Delphi et C++ Builder

La nouvelle ROADMAP de RAD Studio, Delphi et C++Builder a été publiée par Embarcadero hier. Nous pouvons donc parler des évolutions qui devraient arriver dans les deux prochaines versions majeures de Delphi.

Avant d'attaquer je tiens à rappeler l'existence depuis juillet d'une version 10.2.3 bis qui a été mise en ligne lors de la sortie de Delphi Community Edition. Il s'agit de la version 10.2.3 patchée avec les hotfixes diffusés jusque là. Donc si vous désirez être à jour, plutôt que de mettre tous les patchs un par un vous pouvez réinstaller la 10.2.3 depuis l'installeur web.

Les évolutions à venir sont toujours sujettes à des choix de planning, de priorité et de disponibilité lors des sorties des différentes versions. La roadmap n'est donc qu'une indication de ce qui est prévue et le contenu réel des versions futures peut bien entendu évoluer d'ici leur sortie.

Concernant les développeurs Windows (VCL ou Firemonkey), un gros chantier est toujours en cours pour améliorer la prise en charge des écrans à haute résolution. Le High DPI est un sujet important qui impactera de nombreux composants VCL dans les prochaines versions de Delphi et C++ Builder. L'IDE est également touché (puisque rappelons le : l'IDE est un logiciel développé sous Delphi utilisant la VCL).

Des modifications sont également prévues concernant la prise en charge des API Windows 32 et 64 bits avec l'ajout de nombreuses interfaces qui n'étaient pas disponibles en standard jsuqu'à présent. Microsoft continue à faire évoluer son système d'exploitation. Embarcadero suit donc bien ces évolutions pour la VCL et la RTL.

Autre point important concernant la VCL : l'apparition de deux nouveaux composants permettant d'afficher des images dans des résolutions différentes. Le premier des composants sera un conteneur d'images fonctionnant globalement comme le TImageList de Firemonkey. On pourra y stocker plusieurs versions de chaque image. L'affichage sera géré par un autre composant qui s'adaptera en fonction de la résolution de l'écran sur lequel il apparaît et non plus en fonction d'une résolution globale liée à l'ordinateur. Il est en effet de plus en plus courant que des écrans de profondeurs différentes soient connectés au même ordinateur sous Windows Nos logiciels pourront désormais en tenir compte et s'afficher avec la meilleure qualité visuelle possible selon où seront placées leurs différentes fenêtres.

Des modifications sont également prévues pour coller au maximum aux demandes de Microsoft pour la diffusion d'applications sur le Windows Store. Nous devrions donc voir de plus en plus de logiciels développés sous Delphi présents dans le magasin d'applications de Microsoft sur tous les ordinateurs tournant sous Windows (à condition d'être équipés d'un processeur Intel).

Pour les développeurs iOS, pas de grosse annonce pour le moment. La compatibilité avec iOS 11 a été améliorée dans les versions 10.2.3.x. La version 12 de l'OS mobile d'Apple est prévue pour la 10.3 de Delphi et C++Builder.
Embarcadero étudie la migration de la couche graphique de Firemonkey (sous iOS) vers Metal suite à l'annonce d'Apple de cesser de maintenir OpenGL sur sa plateforme mobile dans les prochaines versions de iOS.

Pour macOS, c'est un peu la déception de mon côté : le compilateur 64 bits est repoussé à une version ultérieure. Nous ne l'aurons donc pas sur la 10.3 mais peut-être en fin d'année ou début 2019 sur la version 10.3.1
Nous ne pourrons donc toujours pas (re)soumettre de logiciels sur le Mac App Store en attendant puisqu'Apple refuse désormais les applications 32 bits.
D'un autre côté, qui a vraiment soumis des logiciels sur le Mac App Store alors qu'on peut les distribuer en direct sans passer par les phases de contrôle d'Apple ?

Concernant Android de nombreuses évolutions sont prévues.

La plus importante est la mise à niveau vers l'API 26 (Android 8) afin de pouvoir soumettre des applications sur le Play Store de Google.
Google refuse les nouvelles applications liées à une API inférieure depuis le 1er août et rejettera les mises à jours d'applications existantes à partir du 1er novembre. D'ici là la beta et/ou la finale de Delphi 10.3 seront sorties et nous permettront de continuer à travailler.

Ce changement de niveau d'API a un effet de bord : les vieux appareils Android ne pourront plus utiliser le Play Store pour récupérer une application récente. Un choix de Google discutable mais après tout c'est leur choix et c'est à ce prix qu'ils ont décidé de lutter contre les abus de certains éditeurs de logiciels malveillants.

Nous pourrons toujours continuer à diffuser en direct nos aplications pour de vieux appareils ou passer par d'autres magasins d'applications Android. En revanche ce que j'ignore c'est si nous pourrons le faire avec la 10.3 ou si nous devrons rester sur la 10.2.3 pour cela.

Autre évolution majeure pour Android : le compilateur 64 bits est prévu pour l'an prochain afin de suivre les recommandations de Google qui suit Apple sur le terrain de l'élimination du 32 bits.

Dans les autres points important il est à signaler que les travaux d'évolution de RAD Server ont aussi un impact sur la RTL et de nombreux composants. En l'occurrence des optimisations ont été faites sur les librairies JSON et les collections.

De nombreux autres changements sont prévus, des relookings et nombreuses améliorations dans l'IDE, et surtout des améliorations de la stabilité de l'environnement de travail. Pour voir le détail consultez directement la roadmap ou les présentations de Sarina DuPont, Marco Cantu et David Millington.


Mug Chinese New Year 2023 : year of the rabbitMug Toucan DX dans la baie de Rio