Si vous suivez l'actualité de RAD Studio, vous avez probablement vu notre annonce concernant le renouvellement du langage C++, Quoi de neuf pour C++Builder : Un aperçu surprenant. Pour faire suite à nos mises à jour passionnantes de C++Builder, nous voulions 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 multi-appareils 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 implémentés à l'aide d'objets et d'éléments graphiques primitifs, mappés par FireMonkey à différents pilotes graphiques, de DirectX à Metal.
Au cours des dernières années, une bibliothèque a émergé dans cet espace, qui offre un niveau d'abstraction plus élevé avec des primitives plus complexes tout en travaillant sur les mêmes pilotes natifs de plate-forme que FireMonkey prend en charge. Cette bibliothèque s'appelle Skia et offre une puissance incroyable pour les applications graphiques 2D de toutes sortes, tout en mettant l'accent sur les performances. Skia alimente certaines des applications multi-appareils les plus réussies aujourd'hui, à commencer par le navigateur Chrome de Google.
Il est possible d'utiliser Skia pour alimenter des 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 citoyen de première classe dans l'écosystème FireMonkey. Les avantages comprendront 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 du support 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 de la 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 fourni un support solide pour la modernisation des applications, comme le support 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, le support 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 nous sommes éloignés de la prise en charge du 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 (affichant le même type de contenu ou des types différents) hébergées dans une fenêtre principale conteneurisée. 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 en conséquence et, pour ces raisons, préfèrent continuer à l'utiliser. L'un des inconvénients du modèle MDI de VCL est qu'il s'agit d'une enveloppe autour du support de la plate-forme Windows - et ce support 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 résoudre tous les principaux problèmes liés à la plate-forme et de retravailler le modèle VCL MDI. Bien qu'il soit toujours basé sur l'API de base de la plate-forme, nous avons contourné et résolu la plupart des problèmes de plate-forme. 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 injectant une nouvelle vie dans les 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 encore
Embarcadero R&D travaille actuellement sur bien d'autres choses, en termes de bibliothèques, d'IDE, de compilateurs, de mises à jour des plates-formes et d'accès aux bases 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 blog pour les futures versions de RAD Studio ne sont pas engagées tant qu'elles ne sont pas achevées et publiées en version GA.
Une nouvelle fondation pour FireMonkey : Skia
La bibliothèque d'interface utilisateur multi-appareils 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 implémentés à l'aide d'objets et d'éléments graphiques primitifs, mappés par FireMonkey à différents pilotes graphiques, de DirectX à Metal.
Au cours des dernières années, une bibliothèque a émergé dans cet espace, qui offre un niveau d'abstraction plus élevé avec des primitives plus complexes tout en travaillant sur les mêmes pilotes natifs de plate-forme que FireMonkey prend en charge. Cette bibliothèque s'appelle Skia et offre une puissance incroyable pour les applications graphiques 2D de toutes sortes, tout en mettant l'accent sur les performances. Skia alimente certaines des applications multi-appareils les plus réussies aujourd'hui, à commencer par le navigateur Chrome de Google.
Il est possible d'utiliser Skia pour alimenter des 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 citoyen de première classe dans l'écosystème FireMonkey. Les avantages comprendront 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 du support 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 de la 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 fourni un support solide pour la modernisation des applications, comme le support 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, le support 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 nous sommes éloignés de la prise en charge du 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 (affichant le même type de contenu ou des types différents) hébergées dans une fenêtre principale conteneurisée. 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 en conséquence et, pour ces raisons, préfèrent continuer à l'utiliser. L'un des inconvénients du modèle MDI de VCL est qu'il s'agit d'une enveloppe autour du support de la plate-forme Windows - et ce support 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 résoudre tous les principaux problèmes liés à la plate-forme et de retravailler le modèle VCL MDI. Bien qu'il soit toujours basé sur l'API de base de la plate-forme, nous avons contourné et résolu la plupart des problèmes de plate-forme. 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 injectant une nouvelle vie dans les 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 encore
Embarcadero R&D travaille actuellement sur bien d'autres choses, en termes de bibliothèques, d'IDE, de compilateurs, de mises à jour des plates-formes et d'accès aux bases 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 blog pour les futures versions de RAD Studio ne sont pas engagées tant qu'elles ne sont pas achevées et publiées en version GA.
Qu'en pensez-vous ?
Voir aussi :
Embarcadero annonce la sortie des éditions communautaires de Delphi 11 et C++Builder 11, pour faire profiter aux utilisateurs des dernières innovations de l'édition Alexandria Pro
RAD Studio 11.3 Alexandria patch 1 du 11 avril 2023, qui corrige notamment les problèmes que certains ont pu avoir avec les composants REST et du GraphQL
Embarcadero RAD Studio 11.3 permet de personnaliser l'apparence de l'éditeur de code avec ToolsAPI, et introduit un nouveau composant d'authentification biométrique pour les plateformes mobiles