IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Nouveautés dans les bibliothèques Delphi et C++Builder, un billet blog de Marco Cantu
Chef de produit RAD Studio chez Embarcadero Technologies, auteur de livres à succès sur Delphi

Le , par Sandra Coret

37PARTAGES

17  0 
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.
Et vous ?

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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Anselme45
Membre extrêmement actif https://www.developpez.com
Le 31/05/2023 à 10:12
Citation Envoyé par pprem Voir le message
Il y a une grosse différence : Skia est un projet open source. Il ne dépend pas d'une grosse boite comme Google. Même si ses "gros" utilisateurs l'abandonnent, ça ne veut pas dire que al librairie disparaîtra.
Certes, il s'agit d'un projet open source mais dont le très gros et majoritaire contributeur n'est autre que Google. Ce Google qui nous a habitué à multiplier à l'envie les projets et à les abandonner quand le profit n'est pas là suffisamment vite.

Le jour où Google se retire, Skia peut survivre à court terme mais est-ce que son évolution va être assurée dans le temps? Sachant qu'une techno n'évoluant plus est condamnée à terme, je doute de la "pérennité" de la solution.
3  1 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 29/05/2023 à 21:45
C'est assez marrant car le framework flutter utilise Skia et va changer de moteur de rendu. Et à ce moment là Delphi va utiliser Skia, qui au demeurant est très bon.
0  0 
Avatar de pprem
Membre expert https://www.developpez.com
Le 30/05/2023 à 8:12
Citation Envoyé par archqt Voir le message
C'est assez marrant car le framework flutter utilise Skia et va changer de moteur de rendu. Et à ce moment là Delphi va utiliser Skia, qui au demeurant est très bon.
Tu penses à CanvasKit (qui est du Skia) ou à un autre que je n'aurais pas vu ?
https://skia.org/docs/user/modules/canvaskit/
0  0 
Avatar de jbrg
Membre du Club https://www.developpez.com
Le 30/05/2023 à 16:55
Bonjour à tous,
Très bonne nouvelle que Skia soit intégré a Delphi, car je l'utilise dans mon logiciel.
0  0 
Avatar de Anselme45
Membre extrêmement actif https://www.developpez.com
Le 30/05/2023 à 17:26
Citation Envoyé par pprem Voir le message
La librairie Skia est à priori pérenne, surtout quand on voit qui est derrière...
Que voilà un argument vrai hier mais plus vraiment aujourd'hui...

Qui se rappelle de Silverlight développé par Microsoft en 2007, promu pendant une décennie et... abandonné par Microsoft en 2019 en laissant les utilisateurs en rase campagne comme des m... (mot de 5 lettres) ?
0  0 
Avatar de der§en
Membre éprouvé https://www.developpez.com
Le 30/05/2023 à 18:10
Je suppose que si certains utilisateurs finaux, n’ont pas installés Skia, devront nous prévoir son déploiement avec nos programmes (en somme se retrouver dans les mêmes problématiques qu’en dotnet) ?
0  0 
Avatar de pprem
Membre expert https://www.developpez.com
Le 31/05/2023 à 7:39
Citation Envoyé par der§en Voir le message
Je suppose que si certains utilisateurs finaux, n’ont pas installés Skia, devront nous prévoir son déploiement avec nos programmes (en somme se retrouver dans les mêmes problématiques qu’en dotnet) ?
Le projet Skia4Delphi le fait pour nous, ça sera donc transparent, comme ça l'est pour les librairies actuelles selon les OS.
0  0 
Avatar de pprem
Membre expert https://www.developpez.com
Le 31/05/2023 à 7:40
Citation Envoyé par Anselme45 Voir le message
Que voilà un argument vrai hier mais plus vraiment aujourd'hui...

Qui se rappelle de Silverlight développé par Microsoft en 2007, promu pendant une décennie et... abandonné par Microsoft en 2019 en laissant les utilisateurs en rase campagne comme des m... (mot de 5 lettres) ?
Il y a une grosse différence : Skia est un projet open source. Il ne dépend pas d'une grosse boite comme Google. Même si ses "gros" utilisateurs l'abandonnent, ça ne veut pas dire que al librairie disparaîtra.
0  0 
Avatar de archqt
Membre émérite https://www.developpez.com
Le 01/06/2023 à 17:02
Citation Envoyé par pprem Voir le message
Tu penses à CanvasKit (qui est du Skia) ou à un autre que je n'aurais pas vu ?
https://skia.org/docs/user/modules/canvaskit/
Impeller remplace Skia dans Flutter
0  0 
Avatar de pprem
Membre expert https://www.developpez.com
Le 01/06/2023 à 18:41
Citation Envoyé par archqt Voir le message
Impeller remplace Skia dans Flutter
Merci, jamais entendu parler, mais en lisant ceci je me dis que c'est plus une rustine pour combler des défauts de conception qu'autre chose. On verra bien ce qu'ils mettent à la place l'an prochain.
https://docs.flutter.dev/perf/impeller
0  0