Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Nouveautés dans les bibliothèques Delphi et C++Builder

libraries update

Si vous suivez l’actualité de RAD Studio, vous avez probablement vu notre annonce concernant un accent renouvelé sur le langage C++, Nouveautés pour C++Builder : Un aperçu impressionnant. Suite à nos mises à jour de C++Builder, nous avons voulu partager quelques détails sur ce que nous avons prévu pour les autres parties du produit, en particulier nos bibliothèques VCL et FireMonkey UI.

Une nouvelle fondation pour FireMonkey : Skia

La bibliothèque d’interface utilisateur multiappareils et multiplateforme de RAD Studio est basée sur le concept d’abstraction du rendu réel des éléments de l’interface utilisateur, à l’aide de styles. Les styles sont mis en œuvre à l’aide d’objets et d’éléments graphiques primitifs, cartographiés par FireMonkey dans différents pilotes graphiques, de DirectX à Metal.

Ces dernières années, une bibliothèque a vu le jour dans ce domaine, offrant un niveau d’abstraction plus élevé avec des primitives plus complexes tout en travaillant sur les mêmes pilotes natifs de plateforme pris en charge par FireMonkey. Cette bibliothèque s’appelle Skia et elle offre une puissance incroyable pour les applications graphiques 2D de toutes sortes, tout en mettant l’accent sur les performances. Skia est à l’origine de certaines des applications multiappareils les plus réussies à l’heure actuelle, à commencer par le navigateur Chrome de Google.

Il est possible d’utiliser Skia pour alimenter les applications FireMonkey aujourd’hui, en utilisant la bibliothèque Skia4Delphi, qui est également disponible directement dans GetIt. Les prochaines versions de RAD Studio intégreront Skia et Skia4Delphi de manière approfondie et prête à l’emploi : En l’intégrant au produit, nous offrirons une expérience plus fluide et nous en ferons un composant de premier ordre dans l’écosystème FireMonkey. Les avantages comprennent un rendu plus rapide, en particulier sur Android, mais aussi un certain nombre de fonctionnalités et de composants supplémentaires disponibles lors de l’utilisation d’un pilote basé sur Skia.

Notez que dans le cadre de la prise en charge de Skia, nous ne prévoyons pas seulement de l’utiliser comme pilote GPU FireMonkey, mais nous prévoyons également d’inclure des contrôles d’interface utilisateur spécifiques pour FireMonkey et même pour la bibliothèque VCL.

 

 

 

 

 

 

 

 

 

 

(Le contrôle SkLabel prend en charge plusieurs sections d’une même étiquette avec des attributs de texte différents, comme vous pouvez le voir dans l’inspecteur d’objets)

Modernisation VCL : Le retour de MDI

Dans un tout autre domaine, nous savons que beaucoup de nos clients ont des applications VCL existantes qu’ils souhaitent maintenir actives et moderniser. La bibliothèque VCL a toujours apporté un soutien solide à la modernisation des applications, comme la prise en charge de HighDPI, une architecture de style sophistiquée, l’utilisation de versions plus récentes des contrôles de la plateforme, l’intégration de l’API WinRT, la prise en charge du déploiement MSIX et l’intégration du contrôle WebView2 (le moteur basé sur Chromium du navigateur Edge).

Au cours des dernières années, nous avons abandonné le modèle MDI (Multiple Document Interface). Il s’agit d’un paradigme d’interface utilisateur relativement obsolète, basé sur l’existence de plusieurs fenêtres (montrant le même type de contenu ou des types différents) hébergées dans une fenêtre principale conteneur. Même s’il est vieux jeu, le modèle MDI peut être efficace et beaucoup de nos clients l’utilisent depuis longtemps, ont formé leurs utilisateurs à ce modèle et, pour ces raisons, préfèrent continuer à l’utiliser. L’un des inconvénients de l’utilisation du modèle VCL MDI est qu’il s’agit d’une enveloppe autour de la prise en charge de la plate-forme Windows – et cette prise en charge présente de nombreux problèmes sur les moniteurs HighDPI, par exemple.

 

 

 

 

 

 

 

 

(ci-dessus) Une application MDI avec prise en charge complète du style sur High DPI, illustrée en utilisant le style Glow VCL (à gauche) et le style Aqua Light Slate VCL (à droite)

Après des recherches approfondies et un examen technique, nous avons décidé qu’il valait la peine d’essayer de contourner tous les principaux problèmes liés à la plate-forme et de retravailler le modèle VCL MDI. Bien qu’elle soit toujours basée sur l’API de base de la plateforme, nous avons contourné et résolu la plupart des problèmes liés à la plateforme. De plus, nous introduisons une nouvelle option pour héberger les formulaires MDI (ou tout autre formulaire en général) dans une interface utilisateur basée sur des onglets, comme vous pouvez le voir ci-dessous. Pour tous nos clients qui utilisent l’interface MDI, la prochaine version offrira une bouffée d’air frais – en insufflant une nouvelle vie aux applications. En particulier, nous nous sommes concentrés sur la prise en charge de HighDPI et des styles VCL, afin que vous puissiez utiliser toutes les fonctions de modernisation VCL existantes également pour les applications MDI.

 

 

 

 

 

 

 

 

 

(ci-dessus) Le nouveau modèle MDI basé sur les onglets

Et bien plus

Embarcadero R&D travaille actuellement sur bien d’autres éléments, en termes de bibliothèques, d’IDE, de compilateurs, de mises à jour de la plate-forme et d’accès à la base de données. La prochaine version de RAD Studio sera très importante pour les développeurs C++, mais aussi pour les développeurs Delphi, avec des améliorations dans tous les domaines.

Restez à l’écoute pour plus d’informations dans les mois à venir et pour un accès anticipé à la version bêta, en commençant par nos clients ayant un abonnement Premium actif.

Clause de non-responsabilité : toutes les nouvelles fonctionnalités et améliorations évoquées dans ce billet de blogue pour les futures versions de RAD Studio ne sont pas confirmées tant qu’elles ne sont pas achevées et publiées en GA.

Quitter la version mobile