Nouveautés de Delphi et C++Builder XE5

De RAD Studio

Remonter à Nouveautés

 

Sommaire

 [masquer

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

  • 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.

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.

Pour plus d'informations, voir Utilisation de bitmaps multi-résolution

Changements relatifs à l'EDI pour XE5

Les plates-formes cible mobiles ont des noeuds cible et/ou de configuration

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 :

{|

| XE5AndroidLook.png
Périphérique Android | XE5iOSLook.png
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 :

XE5IDEInsight.png
  • 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) ou F6.

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.

XE5OpeningTheMacinCloudWizard.png XE5MacinCloudWizardInitialConfiguration.png

Multisélection sur le Gestionnaire de déploiement

XE5DeploymentManagerMultiSelection.png

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

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 :

Changements relatifs à la documentation pour XE5

Voir aussi