Voici un résumé des principales fonctionnalités introduites dans RAD Studio 12:
- Intégration de Visual Assist dans l'IDE pour C++Builder, offrant une complétion de code, une navigation dans le code et un remaniement des noms pour le langage C++.
- Un aperçu d'un compilateur C++ basé sur CLANG pour Win64, mis à jour de manière significative, afin de prendre en charge les fonctionnalités les plus récentes du langage standard C++ et d'offrir une meilleure intégration avec les bibliothèques externes et le code C++.
- Ajouts au langage Delphi, y compris les chaînes de caractères littéraux multilignes, pour répondre à certaines demandes pertinentes des clients
- Prise en charge de Skia dans FireMonkey, offrant de meilleures performances et une meilleure qualité de rendu des graphiques et des contrôles de l'interface utilisateur sur toutes les plateformes cibles, grâce à l'adoption d'une nouvelle base pour FireMonkey.
- Une MDI retravaillée et une nouvelle architecture d'interface utilisateur à onglets pour VCL afin d'aider les clients à moderniser leurs applications existantes, en ajoutant la prise en charge de HighDPI et le stylisme aux programmes existants avec un minimum d'effort de leur part.
- Un nouveau composant FireDAC Query by Example (QBE) pour faciliter le filtrage des données et un nouvel assistant JSON pour Delphi afin d'ajouter un mappage des données dans le format JSON populaire vers des objets, comme fait pour XML.
- De nombreuses améliorations de la productivité et de la qualité de l'IDE, afin de faciliter et d'accélérer l'utilisation de RAD Studio pour les tâches quotidiennes.
- Prise en charge des identifiants intelligents dans RAD Server, afin de rendre les API REST hébergées par les clients plus puissantes et plus flexibles, tout en conservant la facilité d'utilisation de RAD Server.
Des merveilles pour C++
Cette version met l'accent sur C++Builder et la chaîne d'outils C++ (également disponible dans RAD Studio). L'équipe s'est concentrée sur deux améliorations clés du C++ : la modernisation des compilateurs et de la chaîne d'outils C++, et l'apport d'une productivité étonnante grâce à la complétion de code et à l'ajout de refactoring et de navigations en intégrant Visual Assist.
La mise à jour de la chaîne d'outils C++ est une révision remarquable du support C++. Elle comprend non seulement une nouvelle version de Clang, mais aussi les bibliothèques d'exécution C et C++, la STL (bibliothèque de modèles standard C++), ainsi que l'éditeur de liens et le débogueur. L'objectif de ce vaste effort est d'offrir des normes C++ modernes, avec la possibilité d'exécuter du code C++ que vous trouvez dans des bibliothèques et des projets récents, d'utiliser facilement des bibliothèques tierces, de tirer parti des normes modernes de codage sécurisé, d'avoir des applications plus performantes et un excellent débogage. Il vise également à améliorer directement des domaines tels que l'édition de liens et la STL, et passe aux normes de la plate-forme Windows telles que l'utilisation des formats d'objet et de débogage COFF et PDB, ce qui pourrait vous permettre d'élargir considérablement votre compatibilité avec d'autres outils.
Dans la version 12.0, un aperçu de cette nouvelle chaîne d'outils C++ a été livré, disponible en tant que compilateur en ligne de commande. L'équipe continue à travailler sur l'intégration de cette nouvelle chaîne d'outils C++ dans l'IDE, en parallèle avec les compilateurs C++ existants, et sur l'intégration des bibliothèques Delphi dans RAD Studio, y compris les bibliothèques VCL et FireMonkey UX.
Une autre innovation significative pour C++Builder dans la version 12.0 provient de l'intégration de la technologie Visual Assist pour offrir un meilleur Code Insight, y compris la complétion de code, la navigation dans le code et le refactoring. Il s'agit d'outils de productivité clés qui assistent les tâches de développement courantes, de la complétion de code qui est souvent invoquée pendant le codage, à la navigation qui permet aux développeurs de trouver facilement des parties pertinentes de leur code au lieu de chercher manuellement dans une base de code, en passant par les refactorings qui aident à l'organisation et à la sécurité du code. On disposera d'un sous-ensemble initial significatif des fonctionnalités VA disponibles dans RAD Studio, y compris la recherche de symboles et de références, l'affichage du plan du projet, la navigation de l'implémentation à la déclaration et vice-versa, et le remaniement par renommage.
Quelques ajouts intéressants pour Delphi
Du côté du compilateur Delphi, la version 12.0 ajoute quelques petites extensions intéressantes, notamment la prise en charge des chaînes de caractères longues, des chaînes de caractères multilignes, limitées par des guillemets triples, afin de faciliter l'intégration de textes SQL, HTML, JSON, XML et d'autres textes multilignes similaires dans le code source d'une application. Le compilateur Delphi 12 propose également une définition d'alias de type faible pour NativeInt, afin d'améliorer la compatibilité Win32/Win64, une meilleure prise en charge des comparaisons de nombres à virgule flottante NaN et la désactivation des exceptions à virgule flottante sur toutes les plates-formes.
En termes de prise en charge des plateformes, Delphi 12.0 offre une compatibilité avec l'API Android de niveau 33, qui est une exigence de Google pour la soumission d'applications sur le Play Store.
FireMonkey et Skia comme nouvelle fondation
En ce qui concerne les bibliothèques d'interface utilisateur, les améliorations les plus significatives de RAD Studio 12.0, tant pour Delphi que pour C++Builder, proviennent de l'intégration du très populaire moteur de rendu multiplateforme Skia, dans FireMonkey. Pour ce faire, le projet open source Skia4Delphi a été intégré, mais il a également été étendu avec la prise en charge de Vulkan, la prise en charge des effets et des filtres avec le Skia Shading Language, un encodeur WebP, la prise en charge des imprimantes et l'impression au format PDF.
La prise en charge de RAD Studio Skia comprend des API directes, des contrôles d'interface utilisateur spécifiques (TSkAnimatedImage, TSkLabel, TSkPaintBox et TSkSvg) et le mappage automatique du rendu d'interface utilisateur des contrôles FireMonkey via Skia. D'une manière générale, Skia améliore la qualité du rendu et les performances. Notez que les mêmes contrôles d'interface utilisateur Skia sont également disponibles dans la bibliothèque de fenêtres VCL.
En dehors de la prise en charge de Skia, qui offre une nouvelle base solide pour l'avenir de la bibliothèque, l'équipe a amélioré prise en charge d'Android en tenant compte de nombreuses améliorations récentes de la plateforme, ajouté la prise en charge de l'écran partagé, pour permettre aux applications FireMonkey de travailler dans un panneau côte à côte à la fois sur iOS et Android, et retravaillé en profondeur les capacités de saisie de texte des contrôles TEdit à une ligne et TMemo à plusieurs lignes.
Une autre amélioration significative de l'IDE, pour le développement de FireMonkey, est l'introduction d'un assistant pour générer des icônes et des écrans d'accueil à toutes les résolutions requises par Apple et Google, à partir d'une simple image SVG et la prise en charge des icônes adaptatives d'Android.
Modernisation de VCL avec MDI et architecture Tabbed UI
L'équipe a effectué un travail de modernisation de VCL pour aider leurs clients à migrer leurs applications existantes (souvent très grandes et bien établies dans leur secteur d'activité cible). Dans la version 12.0, l'accent est mis sur le maintien du modèle MDI (Windows's Multi Document Interface), ancien mais toujours populaire. Avec la nouvelle version, les clients seront en mesure d'adopter un support HighDPI complet pour les applications MDI et d'adopter également les styles VCL. Ils vont permettre à leurs clients de contourner les problèmes de plate-forme causés par le fait que Microsoft a négligé la prise en charge de MDI au cours des dernières années.
En outre, RAD Studio 12.0 a introduit une nouvelle interface utilisateur basée sur les onglets (comme celle de Google Chrome et de nombreuses autres applications populaires) pour faciliter la migration à partir de MDI ou pour créer un nouveau modèle, avec le nouveau contrôle TFormTabsBar. La bibliothèque VCL a été améliorée dans la gestion des futons pour les écrans High DPI.
Dans le cadre des améliorations apportées à la VCL, la nouvelle version introduit un certain nombre de nouveaux concepteurs pour simplifier le travail : Il existe un nouvel éditeur de listes de chaînes, un éditeur de chaînes multilignes et des boîtes de dialogue de configuration rapide pour les boutons, les groupes de radios et les panneaux. Certains de ces outils pratiques faisaient à l'origine partie de KSVC (Konopka Signature VCL Controls) et sont désormais accessibles à tous, même sans installer ce pack de contrôle complémentaire.
En plus des définitions RTL de base, l'équipe a créé un nouvel ensemble d'unités avec les en-têtes complets de l'API Windows convertis en Object Pascal, afin de permettre aux développeurs Delphi d'appeler plus facilement toutes les API de la plate-forme Windows qu'ils n'exposent pas dans leurs bibliothèques de composants. Cette conversion de l'API comprend 311 fichiers d'en-tête Delphi avec 41 Mo de code, couvrant l'ensemble de l'API de la plateforme fournie par Microsoft.
En outre, ils ont amélioré l'intégration du navigateur Edge avec de nouvelles interfaces, propriétés et événements, correspondant aux améliorations apportées au contrôle WebView 2 de la plateforme depuis la dernière version. D'autres améliorations dans la VCL avec Noticing sont un énumérateur TControl extrêmement flexible, des améliorations du Desktop Windows Manager (DWM) et des changements dans le mode Double Buffering.
Nouveautés dans Delphi RTL, Data et autres domaines
De nombreuses améliorations ont été apportées à d'autres bibliothèques d'exécution de Delphi, également exploitées par C++ Builder. Pour la bibliothèque phare d'accès aux bases de données, FireDAC, ils ont ajouté la prise en charge du mode QBE classique (Query-By-Example) qui permet le développement d'une interface utilisateur pour la saisie de critères simples de filtrage des données.
En outre, les composants FireDAC offrent des fonctionnalités supplémentaires pour aider les développeurs à améliorer la sécurité de leurs applications, en limitant le type de commandes SQL pour un contrôle de requête spécifique, en interdisant les commandes multiples et en bloquant les modifications SQL ultérieures. Ces améliorations permettent aux développeurs d'améliorer la sécurité de leurs applications, si elles sont utilisées avec d'autres bonnes pratiques de l'industrie.
RAD Studio 12.0 introduit également un nouvel assistant de mappage JSON, qui peut générer des classes correspondant à une structure de données JSON et un code de lecture et d'écriture approprié pour lire le JSON dans un ensemble d'objets et le diffuser dans un nouveau fichier.
Améliorations de l'IDE RAD Studio
L'IDE a fait l'objet de nombreuses modifications importantes.
La première est une nouvelle interface utilisateur pour l'installateur de fonctionnalités, utilisé pour l'installation initiale du produit ou pour ajouter des fonctionnalités et des plates-formes ultérieurement. Cette boîte de dialogue a été entièrement repensée au niveau du comportement et de l'interface utilisateur, en utilisant des contrôles VCL modernes, ce qui améliore la première impression du produit pour les nouveaux utilisateurs. Elle est plus facile à utiliser car toutes les principales options d'installation, y compris les modules complémentaires, sont regroupées sur une seule page, contrairement à l'ancienne boîte de dialogue qui comportait plusieurs étapes. La nouvelle boîte de dialogue offre également de meilleures informations sur les erreurs, en cas de problèmes d'installation.
L'IDE dispose désormais de la coloration syntaxique dans de nombreuses fenêtres secondaires, telles que la pile d'appels et la vue de la structure. Il y a également des améliorations dans les recherches de code source, dans la façon dont la barre d'outils de navigation fonctionne, et dans l'utilisation de plusieurs fenêtres d'édition, ainsi que beaucoup d'autres petites améliorations.
Outre l'introduction de l'intégration de Visual Assist pour C++Builder, ils ont également apporté d'autres améliorations au support DelphiLSP utilisé pour Code Insight. Par exemple, la complétion de code inclut désormais les mots-clés du langage, et les modèles de code sont affichés dans des zones contextuelles correctes du code pendant la complétion, ainsi qu'un meilleur support pour les génériques et la complétion des tableaux ou des types de tableaux.
Enfin, RAD Studio étend la nouvelle interface ToolsAPI pour l'éditeur de code afin de permettre aux clients et aux fournisseurs tiers de créer des plug-ins plus flexibles pour l'IDE.
RAD Server et InterBase
RAD Server, le plateforme d'hébergement d'API sur serveur REST, a fait l'objet de quelques améliorations notables. Le changement le plus important est la possibilité de prendre facilement en charge un modèle d'identification intelligent, en utilisant une bibliothèque standard pour définir de meilleurs identifiants pour les ressources exposées par le serveur. RAD Server offre également de meilleures performances, des améliorations de la pagination des données, une meilleure authentification des sessions et une qualité globale.
Enfin, la nouvelle version de RAD Studio inclut l'édition pour développeurs et les versions intégrées de la récente version d'InterBase 2020 Update 5.
Qualité, qualité, qualité
Outre les fonctionnalités mises en évidence ci-dessus, la version a été axée sur le travail de qualité dans de nombreux sous-systèmes, à commencer par l'IDE, mais aussi les bibliothèques Delphi RTL, la bibliothèque VCL UI, la bibliothèque multiplateforme FireMonkey, FireDAC et d'autres couches d'accès aux données, les composants client et serveur HTTP et le serveur RAD.
Dans RAD Studio 12, l'équipe a corrigé 1 027 problèmes signalés par les clients sur Quality Portal, en répondant à 877 rapports de bogues publics et en mettant en œuvre 150 demandes de nouvelles fonctionnalités formulées par les clients.
Prêt à l'emploi
Les versions d'évaluation de RAD Studio, Delphi et C++Builder 12 sont désormais disponibles et les versions mises à jour sont disponibles dans la boutique en ligne. Les clients bénéficiant d'une souscription à une mise à jour peuvent télécharger et installer RAD Studio 12 dès aujourd'hui en utilisant leur licence existante et recevront un e-mail annonçant la disponibilité de la nouvelle version. Les téléchargements sont disponibles dans la source.
Source : Embarcadero
Et vous ?
Quel est votre avis sur ces nouvelles fonctionnalités ?
Voir aussi :
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
Embarcadero : Nouveau portail pour le gestionnaire de packages GetIt pour RAD Studio qui permet de naviguer plus facilement et de filtrer par produit et fournisseur
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