![b2ap35F00thumbnail5F00roadmapjpg | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/b2ap3_5F00_thumbnail_5F00_roadmap.jpg?resize=400%2C309&ssl=1)
par Marco Cantu, David Millington et Sarina DuPont
Table of Contents
introduction
L’équipe de gestion de produit Embarcadero RAD Studio met régulièrement à jour la feuille de route de développement de produit pour Delphi, C ++ Builder et RAD Studio. Comme vous pouvez le voir dans notre article de blog officiel sur la feuille de route, nous venons de publier une nouvelle version de la feuille de route, couvrant les principales fonctionnalités que nous avons prévues pour les 12 prochains mois. En plus des diapositives officielles de la feuille de route, nous voulions offrir plus de détails, d’informations et d’informations avec cet article de blog supplémentaire. Vous trouverez peut-être utile d’ouvrir les diapositives pour référence tout en lisant les informations détaillées que nous fournissons ici.
Dans notre feuille de route, vous pouvez trouver les principales fonctionnalités que nous avons prévues pour l’année civile 2021. Avant de passer aux détails de notre feuille de route mise à jour, nous souhaitons récapituler ce que nous avons livré jusqu’à présent.
Au début de cette année, nous avons sorti 10.4 Sydney. La version 10.4 a été très bien accueillie par nos clients et comprenait la première livraison de notre réécriture complète du moteur Delphi Code Insight, désormais basée sur l’architecture de protocole Language Server, un nouveau débogueur pour C ++ Win64, qui répondait à une demande client de très longue date et de nouvelles fonctionnalités du langage Delphi telles que les enregistrements gérés personnalisés. Nous avons également considérablement étendu le cas d’utilisation des styles VCL avec la prise en charge des moniteurs HighDPI et du style par contrôle.
Nous avons suivi la version 10.4 de Sydney avec 10.4.1 en septembre 2020, qui était principalement axée sur la qualité et les améliorations supplémentaires des fonctionnalités fournies dans 10.4, en particulier la prise en charge de Delphi LSP récemment ajoutée. 10.4.1 comprend plus de 800 améliorations de la qualité, y compris plus de 500 améliorations de la qualité pour les problèmes signalés publiquement dans le portail qualité d’Embarcadero.
Avant d’entrer dans les détails sur les versions 10.4.2 et 10.5, nous voulions souligner que 10.4 / 10.4.1 a été l’une de nos versions les plus populaires à ce jour, avec plus de téléchargements que les versions 10.3 et 10.2. C’est particulièrement impressionnant au milieu du COVID-19. Nous attribuons le succès à la fois à la sortie et à notre engagement accru avec des partenaires technologiques qui continuent de collaborer avec notre équipe pour mettre à niveau et développer de nouvelles fonctionnalités. Nous tenons également à remercier, vous, nos clients pour les excellents commentaires que vous avez fournis à l’équipe produit, en termes de fonctionnalités que vous aimeriez voir ajoutées et de domaines sur lesquels vous aimeriez que nous nous concentrions pour la qualité et votre participation. dans nos programmes bêta (ce qui est l’un des avantages d’être sur abonnement).
Actuellement, nous travaillons sur la version 10.4.2, prévue pour la première partie de l’année civile 2021 et détaillée dans la feuille de route et dans cet article de blog de commentaires. Quelques temps avant la sortie, nous prévoyons d’inviter les clients RAD Studio, Delphi et C ++ Builder disposant d’un abonnement de mise à jour actif à rejoindre les tests bêta pour la prochaine version. La version bêta 10.4.2 sera une version bêta de la NDA, obligeant les participants à signer notre accord de non-divulgation avant de pouvoir participer à la version bêta. Être en mesure de rejoindre les versions bêta et de participer à fournir des commentaires à la gestion des produits au début du cycle de développement est l’un des avantages d’être à jour sur l’abonnement aux mises à jour.
Pour la version 10.5, nous prévoyons d’introduire une nouvelle plate-forme cible pour Delphi, macOS ARM (basé sur des processeurs Apple Silicon), un travail important autour de la prise en charge d’IDE HighDPI, des extensions de chaîne d’outils C ++ et de nombreuses autres fonctionnalités supplémentaires et améliorations de la qualité. Voir ci-dessous pour plus de détails.
Chronologie de la feuille de route de RAD Studio
Avant d’aborder les détails des fonctionnalités sur lesquelles l’équipe de développement travaille aujourd’hui ou recherche pour l’avenir, examinons la chronologie des versions à venir, comme indiqué dans la diapositive principale de la feuille de route:
Commentaire de David sur les plans 10.4.2
Delphi Code Insight
Comme Marco l’a écrit ci-dessus, dans 10.4.1, nous nous sommes fortement concentrés sur la qualité. Cela se poursuit dans 10.4.2, avec un domaine de travail important étant le nouveau Delphi Code Insight (alias Delphi LSP.) Non seulement 10.4.2 inclura de nombreux correctifs et ajustements, ainsi que des fonctionnalités d’analyse de code moins couramment utilisées que nous n’avons pas. inclure dans la version initiale, mais aussi des fonctionnalités nouvelles ou considérablement améliorées dans la complétion de code. Par exemple, nous prévoyons d’ajouter un ctrl-clic sur « hérité », ainsi que la complétion retravaillée dans les clauses « uses », entre autres.
Analyse du code C ++
C ++ poursuit également le thème du travail de qualité en cours, avec un accent sur deux domaines.
Le plus notable pour tous les clients C ++ sera une révision complète de l’achèvement du code C ++ lors de l’utilisation des compilateurs Clang. Dans la version 10.3, lors de la mise à niveau vers C ++ 17, nous avons dû remplacer la technologie de complétion de code utilisée par l’EDI. Depuis son introduction, nous avons amélioré la complétion du code dans chaque version, en traitant des cas d’utilisation où des modèles de code spécifiques ou des configurations de projet pourraient entraîner des problèmes de complétion.
Pour la version 10.4.2, nous avons décidé d’entreprendre une refonte complète de l’achèvement de code pour C ++, afin de fournir la productivité de développeur recherchée par les clients. Les clients C ++ doivent trouver que l’achèvement du code et la navigation fonctionnent de manière fiable et efficace.
Nous avons même abordé des cas plus difficiles, comme fournir une complétion dans un fichier d’en-tête (beaucoup plus difficile que dans un fichier .cpp)! Le résultat final devrait être tout ce que vous nous avez demandé.
Qualité C ++ et gestion des exceptions
L’autre objectif de qualité important pour C ++ dans 10.4.2 concerne la gestion des exceptions.
La gestion des exceptions est un domaine complexe, nécessitant une interopérabilité étroite entre le compilateur et RTL pour fonctionner correctement. Il existe des conventions courantes pour les exceptions, telles que ne jamais permettre à une exception de traverser une limite de module (par exemple, être lancée dans une DLL mais interceptée dans un EXE), mais celles-ci ne sont pas toujours suivies, parfois pour de bonnes raisons. En C ++, nous devons gérer les exceptions C ++, les exceptions OS et SEH, sans oublier la gestion des exceptions de Delphi.
Dans 10.4.2, nous avons remanié le système de gestion des exceptions. À l’approche de la sortie, attendons avec impatience un article de blog détaillant les scénarios que nous prenons en charge. En interne, nous constatons actuellement de grandes améliorations!
IDE
En plus de l’accent mis sur la complétion de code pour les deux langues, l’EDI a d’autres travaux prévus pour 10.4.2.
Dans la version 10.3, nous avons introduit les deux thèmes actuels, un style clair et sombre (en fait, un style sombre, bien que très différent, a été introduit pour la première fois en 10.2.3. C’était l’une de nos fonctionnalités les plus populaires.) Le style clair est principalement bleu pâle. Cette version, nous ajoutons un troisième style, qui utilise le gris traditionnel et non le bleu pour les couleurs principales. Considérez-le comme un style rétro pour ceux qui aiment l’apparence de l’IDE autour de l’ère 2010-XE7, un rappel au look classique. Nous pensons également qu’il peut être utile pour ceux qui ont besoin de mesures spéciales pour la vue.
Nous prévoyons également un travail de qualité supplémentaire autour des dispositions de bureau, des dispositions multi-écrans, de la conception de formulaires et d’autres domaines similaires. Cela inclut de vous permettre de concevoir votre formulaire dans le concepteur de formulaire en même temps que d’ouvrir le code de ce formulaire. D’après les commentaires, il s’agissait de la raison la plus courante d’utiliser l’ancien concepteur non ancré, que nous avons supprimé dans la version 10.4.1, et nous sommes heureux de vous permettre à la fois de coder et de concevoir dans une unité de formulaire à l’aide du concepteur moderne.
Enfin, nous voulons améliorer l’outil de migration des paramètres, pour aider à déplacer les paramètres de RAD Studio d’une version à l’autre (comme de 10.3 à 10.4) et pour mieux préserver votre configuration lors du passage à une version de mise à jour (comme de 10.4.1 à 10.4.2 ). Nous prévoyons d’ajouter des configurations prédéfinies spécifiques pour chaque scénario et d’inclure des fichiers de configuration en plus des paramètres de registre considérés aujourd’hui.
Commentaire de Marco sur les plans 10.4.2
En termes de systèmes d’exploitation cibles, nous nous concentrons actuellement sur l’amélioration des plates-formes existantes prises en charge dans 10.4.x, et nous travaillons sur deux domaines prioritaires pour la version 10.4.2.
Le premier fait partie de notre focalisation continue sur Windows en tant que cible principale. Sur le système d’exploitation Microsoft, nous suivons de près la direction actuelle de Microsoft d’unification de l’API WinRT et de l’API Win traditionnelle, via Project Reunion. Project Reunion (https://github.com/microsoft/ProjectReunion) comprend différentes technologies, les premières étant WinUI 3, WebView2 et MSIX.
Le contrôle WebView2 est un nouveau composant de plate-forme Windows incorporant Edge Chromium. Nous avons fourni la prise en charge de cette fonctionnalité dans la version 10.4 avec le composant TEdgeBrowser VCL.
Le deuxième élément de base sera la prise en charge du format d’empaquetage MSIX que nous prévoyons pour 10.4.2. MSIX est le successeur de APPX, une cible que nous proposons actuellement dans le cadre de l’intégration de RAD Studio IDE Desktop Bridge, et est destiné au Microsoft Store et au déploiement en entreprise.
Un autre domaine de notre prise en charge améliorée de la plate-forme Windows, et en particulier des applications VCL, est l’ajout de deux nouveaux contrôles visant à aider nos clients à moderniser et à améliorer l’UX de leurs applications. Nous travaillons sur de nouveaux contrôles Windows natifs VCL, afin que vous puissiez fournir une interface utilisateur plus moderne à vos clients:
- L’un est une vue de liste virtuelle hautement optimisée, qui vous permettra d’afficher un grand nombre d’éléments avec une combinaison flexible de texte et de graphiques. Le contrôle sera basé sur l’approche du contrôle DBCtrlGrid existant, mais sans nécessiter une source de données. Il prendra en charge l’utilisation des liaisons dynamiques.
- L’autre nouveau composant VCL que nous ajoutons est un contrôle d’entrée numérique, similaire au contrôle de plate-forme WinUI NumberBox. Ce contrôle permet une saisie numérique plus simple et plus fluide, en tenant compte de différents formats (entiers, nombres à virgule flottante, valeurs monétaires) et en incluant également l’évaluation d’expressions simples.
La deuxième partie de nos améliorations se concentre sur les plates-formes cibles actuellement prises en charge. Nous prévoyons de fournir une compatibilité totale avec les nouvelles versions des systèmes d’exploitation publiées par Apple et Google après la sortie de RAD Studio 10.4.1. Bien que vous puissiez cibler ces plates-formes aujourd’hui, il existe quelques problèmes en suspens que nous souhaitons résoudre correctement (plutôt que via des solutions de contournement). L’objectif est d’avoir un support complet pour:
- iOS 14 et iPadOS 14 (Delphi et C ++)
- macOS 11.0 Big Sur (Intel) (Delphi)
- Android 11 (Delphi)
En termes de qualité, nous allons continuer avec un effort significatif sur la stabilité, les performances et la qualité en 10.4.2 (comme nous l’avons fait en 10.4.1). Nous prévoyons de résoudre les problèmes signalés par les clients et de prendre en charge les escalades dans de nombreux domaines du produit. Les outils et bibliothèques sur lesquels nous allons particulièrement nous concentrer, en plus de ceux listés par David précédemment, incluent:
- Le compilateur Delphi (pour toutes les plates-formes) pour améliorer sa robustesse et sa compatibilité descendante, mais un accent particulier et profond sur les performances du compilateur (et de l’éditeur de liens) pour réduire le temps de compilation pour les grands projets et également accélérer le moteur LSP (qui utilise le compilateur pour analyser le code source).
- La bibliothèque client SOAP avec l’outil d’importation WSDL qui génère le code client utilisé pour s’interfacer avec les serveurs SOAP
- La bibliothèque de programmation parallèle (PPL), qui offre une grande abstraction des différentes plates-formes et des capacités de threading des processeurs multicœurs, en termes de tâches, d’avenir et de boucles for parallèles
- Les solutions de service Web à plusieurs niveaux font partie de RAD Studio, avec des améliorations à la fois de RAD Server et de l’ancien moteur DataSnap, et des améliorations générales des bibliothèques clientes HTTP et REST. Nous allons également continuer à nous concentrer sur notre support cloud Azure et AWS.
- Les styles VCL et HighDPI vont recevoir une attention particulière, ainsi que la VCL en général
- Pour la bibliothèque FireMonkey, nous continuons à améliorer les composants TMemo (à la fois dans la plate-forme et dans les versions stylisées), le pilote de bibliothèque GPU Metal introduit dans la version 10.4 et à retravailler la gestion des capteurs sur Android, pour offrir une meilleure prise en charge de divers appareils Android.
RAD Studio 10.5
Pour référence, voici à nouveau la diapositive principale de la feuille de route:
Commentaire de David sur les plans 10.5
Expérience utilisateur
Nous avons un certain nombre de nouvelles fonctionnalités intéressantes, attendues par de nombreux clients, prévues pour la version 10.5.
Tout d’abord, nous prévoyons une prise en charge complète du DPI élevé dans l’IDE. La VCL prend en charge le DPI élevé depuis quelques versions maintenant, et l’EDI de RAD Studio, qui utilise principalement la VCL, prendra désormais également en charge le DPI élevé. Cela garantit un rendu net sur tous les écrans haute résolution modernes, y compris lorsque vous déplacez des fenêtres sur des écrans avec différentes résolutions et échelles.
Le concepteur de formulaires VCL est l’un des outils clés que vous utilisez lors de la création de votre application. Le but du concepteur est de créer rapidement une interface utilisateur en voyant à quoi elle ressemblera lorsque votre application sera exécutée, contrairement aux outils d’interface utilisateur qui décrivent une interface utilisateur uniquement sous forme de texte et ne fournissent aucune boucle de rétroaction / itération immédiate. Dans la version 10.5, nous prévoyons d’étendre cet élément de ressemblance avec l’apparence de votre application lorsqu’elle sera exécutée en ajoutant la prise en charge du style VCL au concepteur.Ainsi, lorsque l’un de vos contrôles est stylé, vous le verrez également stylé dans le concepteur.
Le concepteur de formulaires FMX est également un outil clé lorsque vous créez une application multiplateforme. Nous prévoyons d’intégrer certains des outils de conception dont dispose le concepteur VCL, tels que les guides d’alignement, pour garantir que le concepteur dispose des fonctionnalités de productivité dont vous avez besoin.
Nous prévoyons également de nous concentrer sur l’intégration du contrôle de code source de l’EDI, pour aider votre équipe à collaborer. De plus, nous prévoyons quelques améliorations de la présentation de l’EDI lors de la première exécution, pour aider les nouveaux utilisateurs de Delphi et C ++ Builder à démarrer.
Enfin, de nombreux clients utilisent Delphi ou C ++ Builder sur un serveur de build dédié. En plus du contrôle de code source, des tests et des pratiques similaires, il est recommandé que les versions officielles se produisent sur une machine ou une VM spécifique. Actuellement, pour installer RAD pour un serveur de construction, vous devez installer l’EDI complet – mais cela ne devrait pas être requis, car la construction n’a besoin que des outils de ligne de commande. Nous prévoyons un scénario d’installation spécifiquement pour les serveurs de construction.
Générateur C ++
Dans 10.4.0, nous avons introduit un nouveau débogueur pour C ++ Win64. Cela répondait à une demande courante des clients, en particulier parce que nous avons inclus des «formateurs», un moyen d’évaluer facilement le contenu des conteneurs STL ou de toute structure de données, y compris la vôtre. C’était un tout nouveau débogueur, pas une nouvelle version de celui que nous utilisions précédemment. Dans la version 10.5, nous prévoyons un nouveau remplacement similaire pour un autre outil de base, l’éditeur de liens. Comme le débogueur, ce sera pour Win64.
Vous remarquerez ici un focus sur Windows 64 bits. De nombreux clients utilisent Clang pour cibler Win64, et nous voulons nous assurer que nos outils sont au même niveau ou meilleurs que les outils auxquels vous pouvez être habitué à partir du compilateur classique. De plus, de nombreuses personnes commencent à s’intéresser exclusivement au 64 bits, les applications 32 bits étant mises à niveau et les nouvelles applications étant uniquement en 64 bits.
Visual Assist est une extension de productivité incroyable pour Visual C ++, qui permet de compléter le code, de refactoriser et plus encore. Nous avons recherché différentes manières de l’intégrer dans C ++ Builder et prévoyons de le faire dans la version 10.5.
Enfin, nous prévoyons également d’améliorer l’interopérabilité Delphi / C ++. Être capable d’utiliser deux langages est un gros gain de productivité et l’une des principales raisons d’utiliser C ++ Builder ou RAD Studio, et c’est un travail pour peaufiner cette intégration. Il devrait fournir une intégration plus fluide avec les fonctionnalités RTL.
Débogueur Delphi
Dans la version 10.4, nous avons introduit un tout nouveau débogueur pour C ++ Win64 (noté ci-dessus) basé sur LLDB. En fin de compte, nous visons à utiliser le même débogueur sur toutes les plates-formes – aujourd’hui, nous utilisons un mélange de différents débogueurs. La clé pour cela est d’ajouter une interface de langage Delphi à LLDB, ce qui vous permet d’évaluer la syntaxe Delphi dans, par exemple, la boîte de dialogue Evaluer / Modifier. Nous prévoyons d’introduire la première plate-forme utilisant LLDB avec ce nouveau frontend en 10.5.
Commentaire de Marco sur les plans 10.5
Plateformes
Concernant la plate-forme Windows, comme mentionné précédemment, nous prévoyons d’offrir un support pour les différentes technologies qui font partie de Microsoft Project Reunion. En particulier, dans la version RAD Studio 10.5, nous sommes impatients d’intégrer la prise en charge de Windows UX moderne via la bibliothèque WinUI 3. Selon la feuille de route de Microsoft pour la bibliothèque, il devrait devenir possible d’utiliser les composants de cette bibliothèque dans une application native basée sur l’API classique, mélangeant formulaires et contrôles de types différents. Les détails réels dépendront de ce que la bibliothèque offrira en termes d’intégration avec les applications natives, mais notre plan actuel est d’intégrer cette bibliothèque dans la VCL avec de nouveaux contrôles spécifiques.
En parlant de plates-formes, nous souhaitons ajouter une nouvelle cible pour les applications Delphi: un nouveau compilateur pour la version ARM du système d’exploitation macOS avec du matériel Apple alimenté par des processeurs Apple Silicon. Bien que vous puissiez exécuter des applications Intel, l’objectif est d’avoir une application ARM native pour la nouvelle génération de Mac.
Ce sera une extension significative de Delphi, y compris un nouveau compilateur, des mises à jour de la bibliothèque d’exécution et des diverses bibliothèques de haut niveau. Nous avons également prévu d’étendre la syntaxe du langage Delphi pour toutes les plates-formes et d’améliorer les performances du code de traitement mathématique généré par le compilateur sous Windows, rendant les applications plus rapides dans le traitement numérique.
Nous continuerons également de travailler sur la qualité globale du produit et prévoyons de sélectionner quelques sous-systèmes sur lesquels nous concentrer, décision que nous prendrons en évaluant les commentaires des clients concernant la version actuelle et les mises à jour à venir.
Sommaire
Nous avons d’excellents projets pour les prochaines versions de Delphi, C ++ Builder et RAD Studio! Des changements passionnants à l’achèvement du code pour les deux langues, à un IDE DPI élevé, des améliorations de productivité lors du codage et de la conception, l’interface utilisateur Windows et les nouveaux composants VCL, le débogage Delphi, la prise en charge d’Apple Silicon (M1) pour Delphi, un travail de qualité pour les compilateurs, Delphi et C ++ RTL, SOAP, multiniveau et plus encore, un nouvel éditeur de liens pour C ++ – les prochaines versions contiennent un travail vraiment passionnant. Nous avons hâte de vous les faire parvenir!
Remarque: Ces plans et feuille de route représentent nos intentions à cette date, mais nos plans de développement et nos priorités sont susceptibles de changer. En conséquence, nous ne pouvons offrir aucun engagement ou autre forme d’assurance que nous publierons finalement tout ou partie des produits décrits sur le calendrier ou dans l’ordre décrit, ou pas du tout. Ces indications générales sur les calendriers de développement ou les «feuilles de route des produits» ne doivent pas être interprétées ou interprétées comme une forme quelconque d’engagement, et les droits de nos clients aux mises à niveau, mises à jour, améliorations et autres versions de maintenance seront définis uniquement dans le contrat de licence du logiciel applicable. .
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
Bonnes nouvelles
Tres bien!