-
Intel The Parallel Universe N°48 - Avril 2022
Nouveautés de Delphi et C++Builder XE5
Remonter à Nouveautés
Principale nouveauté de la release XE5
RAD Studio XE5 est la première release prenant en charge le développement d'applications multiplates-formes Delphi pour la plate-forme cible Android :
★ Développement d'applications mobiles Android
Changements relatifs à FireMonkey pour XE5
Développement d'applications mobiles Android
- FireMonkey a été étendu afin de supporter le développement d'applications mobiles pour la plate-forme mobile Android. Voir Périphériques Android supportés pour le développement d'applications.
- Pour créer une application Android, choisissez Fichier > Nouveau > Application mobile FireMonkey - Delphi.
- La plate-forme cible par défaut pour une application mobile FireMonkey est Android.
- Pour de plus amples informations, voir Développement d'applications mobiles Android.
- Les outils de développement nécessaires pour Android sont installés par défaut lors de l'installation de RAD Studio.
- Emulateur Android :
- L'émulateur Android qui est installé avec RAD Studio est utilisé en tant que plate-forme cible par défaut pour une application mobile FireMonkey.
- Cela signifie que vous pouvez, immédiatement après l'installation du produit, créer votre première application Android et l'exécuter sur l'émulateur, sans autre configuration nécessaire.
- Pour de plus amples informations et instructions sur la création de vos propres émulateurs, voir Création d'un émulateur Android.
- Périphérique Android :
- L'ajout d'un périphérique Android à votre configuration de développement implique l'activation du débogage USB sur le périphérique et la configuration de votre système pour détecter le périphérique.
- Pour de plus amples informations, voir :
- Emulateur Android :
- Dans le code de votre application, les différences sont minimes entre Android et iOS, vous pouvez donc utiliser essentiellement une base de code pour iOS et Android.
- Eviter les dialogues modaux :
- Les boîtes de dialogue modales, qui sont généralement utilisées dans les applications de bureau, requièrent une saisie utilisateur avant de retourner au dialogue ou à la fenêtre parent. Sur Android, les boîtes de dialogue sont des popups, et les boîtes de dialogue modales ne sont pas supportées correctement.
- Au lieu d'appeler ShowModal, vous devez appeler Show, et obtenir la sortie de la fiche et l'appel de votre événement.
- Nous vous recommandons de ne pas utiliser les dialogues modaux sur les plates-formes mobiles (Android et iOS). Ne pas utiliser les dialogues modaux élimine les problèmes potentiels dans le débogage et le support de vos applications mobiles.
- Pour de plus amples informations, voir Création d'une application Android.
- Eviter les dialogues modaux :
Mouvements sur Android
- RAD Studio supporte les mêmes mouvements sur les plates-formes Android et iOS : Zoom, Rotation, Panoramique, "Cliquer avec deux doigts", "Appuyer deux fois" et "Appuyer de façon prolongée".
- (Le mouvement Appuyer et cliquer est seulement supporté sur Windows.)
- Pour de plus amples informations, voir Mouvements dans FireMonkey.
Formats de fichiers pour l'enregistrement audio sur iOS et Android
Si vous enregistrez des fichiers audio depuis un microphone avec TCaptureDeviceManager.Current.DefaultAudioCaptureDevice (comme cela est le cas dans le snippet de code mobile AudioRecPlay), les fichiers doivent être enregistrés en utilisant les extensions de fichier suivantes :
.CAF
sur iOS.3GP
sur Android
Refactoring FireMonkey dans XE5
Certains refactorings sont survenus dans les bibliothèques FireMonkey.
Par exemple, TBitmap a été déplacé de FMX.Types (dans XE4) vers FMX.Graphics (dans XE5). Ainsi, vous devez maintenant ajouter FMX.Graphics à la liste uses pour chacune de vos applications existantes qui utilisent TBitmap. Des modifications similaires sont nécessaires pour tous les autres contrôles qui ont été déplacés vers une autre unité.
Utilisation de bitmaps multi-résolution
Les bitmaps multi-résolution de FireMonkey permettent aux images et icônes de vos applications FireMonkey de s'afficher correctement sous différentes résolutions (Windows, iOS, Mac OS X et Android). Un bitmap multi-résolution est une collection d'éléments de bitmap fournissant la même image mais utilisant des échelles différentes.
- Les bitmaps multi-résolution peuvent être utilisés pour afficher des images dans les contrôles TImage.
- Utilisez l'éditeur MultiResBitmap pour créer des bitmaps multi-résolution qui seront utilisés dans les contrôles.
Pour plus d'informations, voir Utilisation de bitmaps multi-résolution
Changements relatifs à l'EDI pour XE5
Cibles et configurations de plates-formes
Le noeud Plates-formes cible du Gestionnaire de projets fournit maintenant les deux dossiers enfant suivants sous chaque plate-forme cible :
- Cible liste les périphériques et les simulateurs/émulateurs disponibles s'exécutant sur la plate-forme cible.
- Configuration liste les configurations de construction qui sont spécifiques à la plate-forme cible.
Selon le projet en cours, le Gestionnaire de projets peut contenir zéro, un ou les deux dossiers Cible et Configuration. Par exemple, une application console ne contient pas le noeud enfant Cible ou Configuration sous Plates-formes cible.
Les plates-formes cible qui étaient disponibles dans les releases précédentes, telles que Windows 32 bits ou Périphérique iOS, sont toujours des noeuds majeurs dans Plates-formes cible.
Les configurations de plates-formes (connues dans les releases antérieures sous le terme types de construction) auparavant disponibles pour Mac OS X (Normal, Magasin d'applications) et le Périphérique iOS (Débogage, Ad hoc et Magasin d'applications) sont maintenant contenues dans le noeud Configuration imbriqué sous la plate-forme cible (Mac OS X ou Périphérique iOS).
Les simulateurs iPhone, iPad et iPhone 5 pour le Simulateur iOS sont maintenant contenus dans le dossier Cible sous la plate-forme cible (Simulateur iOS).
Plate-forme cible Android supportée
La plate-forme cible Android est maintenant représentée dans le noeud Plates-formes cible du Gestionnaire de projets.
Lorsque vous créez une application mobile FireMonkey, vous pouvez maintenant sélectionner les plates-formes cible Android en plus du Périphérique iOS et du Simulateur iOS.
La plate-forme cible Android fournit les configurations de plates-formes suivantes :
- Débogage (pour les cycles de développement)
- Magasin d'applications (pour soumettre votre application au magasin d'applications Android)
Le noeud Cible liste les périphériques Android connectés à votre système de développement, et les émulateurs Android configurés.
Vous pouvez ajouter Android à vos packages d'exécution personnalisés, et les construire pour la plate-forme Android, de telle sorte que vos composants peuvent être également utilisés sur Android.
Pour obtenir la liste des périphériques Android supportés, voir Périphériques Android supportés pour le développement d'applications.
Les périphériques d'aide à la conception affectent l'apparence
Les périphériques d'aide à la conception sont des fiches prédéfinies qui vous donnent un aperçu de l'apparence finale de votre fiche pour un certain périphérique ou un facteur de forme.
Si vous définissez le périphérique d'aide à la conception qui est votre plate-forme cible finale, le Concepteur mobile FireMonkey charge le style correct pour la plate-forme sélectionnée.
Voici des exemples d'applications utilisant respectivement les paramètres de périphérique d'aide à la conception de Google Nexus 4 et de l'iPhone 5 :
- {|
|
Périphérique Android |
Périphérique iOS Pour de plus amples informations, voir Gestionnaire de périphériques.
Changements relatifs à IDE Insight pour XE5
La boîte de dialogue IDE Insight a été remplacée par une zone de recherche dans le coin supérieur droit de l'EDI :
- Au fur et à mesure que vous tapez une chaîne de recherche dans la zone de recherche, une fenêtre popup affiche les éléments correspondants. La fenêtre popup montre autant d'éléments correspondants que votre écran peut en contenir.
- Pour invoquer ou ouvrir un élément dans la fenêtre popup, vous pouvez cliquer sur l'élément cible ou naviguer jusqu'à l'élément en utilisant les touches fléchées Haut et Bas et en appuyant sur
Entrée
. - Pour placer la focalisation sur la zone de recherche IDE Insight, vous pouvez utiliser
Ctrl+.
(point) ouF6
.
Expert MacinCloud incorporé
MacinCloud est un service de location d'ordinateurs distants qui vous permet d'accéder via Internet à des serveurs Mac loués. Vous pouvez ainsi construire, déboguer et déployer des applications Mac OS X sans disposer de votre propre Mac.
Les utilisateurs de RAD Studio XE4 pouvaient télécharger un exécutable qui configurait RAD Studio pour se connecter au service d'hébergement MacinCloud. Dans RAD Studio XE5, l'expert MacinCloud fait dorénavant partie de RAD Studio. Voir Utilisation du service d'hébergement MacinCloud.
Multisélection sur le Gestionnaire de déploiement
Le Gestionnaire de déploiement autorise maintenant la sélection de plusieurs fichiers. Vous pouvez sélectionner plusieurs fichiers et les supprimer de la liste de déploiement ou changer leur chemin de sortie (Chemin distant) en une seule fois.
Changements relatifs aux options d'outils pour XE5
- La nouvelle page Gestionnaire de périphériques vous permet de sélectionner le périphérique que vous voulez utiliser en tant que périphérique par défaut dans le Concepteur de fiches mobiles FireMonkey. Vous pouvez aussi ajouter, éditer ou retirer des périphériques dans le Gestionnaire de périphériques.
- Vous pouvez maintenant ajouter des SDK Android à RAD Studio depuis le Gestionnaire de SDK. Néanmoins, l'installateur de RAD Studio vous permet d'installer les versions préférées des outils de développement Android, et ajoute déjà un SDK Android dans le Gestionnaire de SDK.
Changements relatifs aux options de projets pour XE5
Vos options de projet comportent de nouveaux champs et de nouvelles pages vous permettant de préparer vos nouvelles applications Android pour le déploiement :
- Sur la nouvelle page Permissions d'utilisation, vous pouvez choisir les permissions requises par votre application. Android demande automatiquement aux utilisateurs d'accorder à votre application les permissions requises lors de l'installation.
- Sur la page Application, vous pouvez configurer vos icônes d'application pour la plate-forme Android.
- Sur la page Informations de version, vous pouvez définir les paramètres de votre application pour la plate-forme Android, tels que le nom de package ou le code de version.
- Sur la page Approvisionnement, vous pouvez créer ou charger un fichier magasin de clés avec des certificats de signature pour signer vos packages d'applications Android.
RAD Studio utilise vos options de projet pour Android afin de générer un fichier "AndroidManifest.xml" à partir d'un modèle. "AndroidManifest.xml" est un fichier que toutes les applications Android doivent avoir. Vous pouvez modifier le modèle pour personnaliser le contenu du fichier que RAD Studio génère.
Changements relatifs au compilateur Delphi pour XE5
Nouveau compilateur Delphi pour Android : Le nouveau compilateur Delphi pour Android (DCCAARM.EXE) est intégré dans le produit XE5 : DCCAARM.EXE, le compilateur croisé Delphi pour Android.
DCCAARM vous permet de compiler les applications Delphi pour un émulateur Android ou un périphérique Android.
Comme les autres compilateurs mobiles Delphi, DCCAARM supporte certaines différences de langage, qui sont décrites dans Migration du code Delphi en mobile depuis le bureau.
Changements relatifs au débogueur pour XE5
- Le nouveau débogueur Embarcadero Android vous permet de déboguer les applications Android qui s'exécutent sur un périphérique Android connecté ou sur un émulateur Android.
- Attacher au processus n'est pas supporté pour les applications s'exécutant sur un périphérique Android.
- L'évaluation des propriétés est maintenant supportée sur le périphérique iOS, ainsi que sur le périphérique/l'émulateur Android et le simulateur iOS. Le support est limité à l'évaluation des propriétés sur le périphérique iOS ou sur le périphérique et l'émulateur Android.
Auparavant, l'évaluation des propriétés était uniquement supportée sur le simulateur iOS.
Modifications de la RTL (Run-Time Library) Delphi
System.Types (RTL)
Modifications TPointF
- Opérateurs de classes ajoutés pour la mise à l'échelle (par exemple, "MyVec := SomeVec * 5" ou "MyVec := 5 * SomeVec"), et la fonction Scale désapprouvée.
- Fonction Offset définie inline pour de meilleures performances, fonctions SetLocation, Subtract et Add désapprouvées, qui sont simplement des cas différents de Offset.
- Fonctions Length, Rotate, Reflect, MidPoint, AngleCosine, Distance, CrossProduct et DotProduct ajoutées.
- Champ d'accès au type de données alternatif, ajouté pour fonctionner avec TPointF en tant que tableau de deux valeurs.
Modifications TVector
- Fonctions private inutiles retirées.
- Fonction Offset similaire à celle de TPointF ajoutée ; fonction Scale retirée.
- Fonctions Rotate, CrossProduct, MidVector et AngleCosine ajoutées.
- Surcharges de classes pour la mise à l'échelle similaire à TPointF ajoutées.
Modifications TMatrix
- Opérateurs de classes ajoutés pour la multiplication matrice-matrice, point-matrice et vecteur-matrice.
- Fonctions de classes Determinant, Adjoint et Inverse ajoutées.
- Constructeurs CreateRotation, CreateScaling et CreateTranslation ajoutés.
- Constante TMatrix.Identity ajoutée.
Modifications TPoint3D
- En supplément de XYZ, ce type de données a maintenant l'option alternative V : TPoint3DType, qui traite TPoint3D en tant que tableau de trois éléments.
- Nouveau constructeur ajouté qui reçoit TPointF et la coordonnée Z.
- Opérateur de classe pour la mise à l'échelle ajouté, fonction Scale retirée. Il travaille de deux façons : "P := P * 5" ou "P := 5 * P" ou "P := P / 2".
- Opérateur de classe négatif ajouté alors que la fonction de classe "Negative" est retirée.
- Fonctions Rotate, Reflect, MidPoint et AngleCosine ajoutées.
Modifications TVector3D
- Les fonctions Normalize et GetNormalize ont été fusionnées en une seule fonction, Normalize, qui renvoie un vecteur 3D normalisé tout en préservant la coordonnée W.
- Conversion implicite et explicite de TVector3D en TPoint3D retirée, à cause d'une ambiguïté dans le traitement du composant W dans de telles opérations.
- La fonction globale Point3D qui reçoit TVector3D en paramètre a le paramètre facultatif ATransform qui, quand il est défini sur True, divise les coordonnées XYZ par W.
- Fonction TVector3D.ToPoint3D ajoutée, qui renvoie TPoint3D de TVector3D et fonctionne de façon similaire à la fonction globale Point3D (voir ci-dessus).
- Quelques fonctions redondantes internes retirées.
- PointProject et CalcPlaneNormal déplacés dans FMX.Types.
- Fonction Scale retirée ; opérateurs de classes similaires à ceux de TPoint3D ajoutés.
- Fonctions AddScale et AddVector3D retirées.
- Fonctions Rotate, MidVector et AngleCosine ajoutées.
Modifications TMatrix3D
- Opérateur de classe pour la multiplication TPoint3D/TMatrix3D ajouté (le composant W, manquant dans TPoint3D, est supposé valoir 1).
- Constructeurs Create, CreateScaling et CreateTranslation ajoutés, variants à performances élevées CreateRotationX, CreateRotationY et CreateRotationZ ajoutés, et variants composites à faibles performances CreateRotation, CreateRotationYawPitchRoll et CreateRotationHeadingPitchBank ajoutés.
- Constructeurs de matrices vue/projection CreateLookAtRH, CreateLookAtLH, CreateLookAtDirRH, CreateLookAtDirLH, CreateOrthoLH, CreateOrthoRH, CreateOrthoOffCenterLH, CreateOrthoOffCenterRH, CreatePerspectiveFovLH et CreatePerspectiveFovLH ajoutés. Les deux derniers peuvent fonctionner avec un champ de vue horizontal et vertical.
- Méthodes TransposeMatrix3D et ScaleMatrix3D retirées en faveur des équivalents TMatrix3D.Transpose et TMatrix3D.Scale.
- Constante TMatrix3D.Identity ajoutée.
Modifications TQuaternion3D
- Le type de ImagPart a été changé de TVector3D à TPoint3D, pour décrire correctement le quaternion avec quatre composants XYZW (au lieu de 5, où W a été dupliqué).
- Constructeurs ajoutés pour les différents types de quaternion, notamment la création de quaternions à partir de matrices.
- Opérateurs de classes ajoutés pour la conversion de quaternion en matrice et la multiplication quaternion-quaternion.
- Fonctions Length et Normalize ajoutées.
- En plus de l'approche traditionnelle, un quaternion peut maintenant être accessible en tant que tableau de quatre valeurs.
- Constante TQuaternion3D.Identity ajoutée.
Changements relatifs aux bases de données pour XE5
FireDAC introduit dans XE5
La nouvelle couche Accès aux données FireDAC, qui supporte les fonctionnalités nécessaires à la construction d'applications à forte charge a été ajoutée à RAD Studio.
Nouvelle bibliothèque client REST ajoutée
La nouvelle bibliothèque client REST est supportée sur toutes les plates-formes.
Connectivité supportée dans XE5
RAD Studio supporte les connectivités de bases de données suivantes dans la release XE5 :
- dbExpress et FireDAC se connectent aux bases de données InterBase et Sqlite dans les applications Android.
- InterBase Express (IBX) se connecte aux bases de données InterBase dans les applications Android.
- Les clients DataSnap sur Android se connectent à des serveurs via tcp\ip, http et https.
- Vous pouvez vous connecter aux clouds Amazon et Azure sur Android.
WebSnap et InternetExpress retirés du produit
WebSnap et InternetExpress, deux anciens outils de développement d'applications Web, ont été finalement désapprouvés et retirés de RAD Studio :
- En alternative, utilisez l'un des suivants :
- IntraWeb (VCL pour le Web). Utilisation d'IntraWeb est documenté dans cette aide en ligne. Pour davantage de documentation sur IntraWeb, allez sur https://www.atozed.com/intraweb/documentation/index.aspx .
- Web Broker. Pour de plus amples informations, voir Utilisation de WebBroker.
Changements relatifs à la documentation pour XE5
- Les Tutoriels iOS (release XE4) ont été révisés et renommés en Tutoriels mobiles : Développement d'applications mobiles Delphi (iOS et Android). Les tutoriels mobiles décrivent les deux plates-formes mobiles (iOS et Android). Les nouveaux tutoriels mobiles suivants ont été ajoutés pour XE5 :
- Tutoriel mobile : Définition de votre environnement de développement sur un PC Windows (Android)
- Tutoriel mobile : Utilisation de LiveBindings pour remplir une zone de liste dans les applications mobiles (iOS et Android)
- Tutoriel mobile : Utilisation de FireDAC dans les applications mobiles (iOS et Android)
- La documentation FireDAC a été fusionnée dans l'aide de RAD Studio :
- "Problèmes de connexion" a été ajouté à Exécution de Platform Assistant sur un Mac.