Delphi XE3 Infos - John COLIBRI. |
- résumé : les nouvelles Delphi Xe3 : FireMonkey FM2, Windows 8 Metro et Metropolis, DataBindings, Mac OsX, Mobile Studio, Html5 Builder
- mots clé : Delphi XE3 - FireMonkey - Windows 8 Metro - LiveTile - DataBindings
- plan :
1 - Delphi Xe3 News
Nous allons présenter les informations sur la future version Delphi XE3 au fur et à mesure de nos trouvailles. Je n'ai pour ma part à ce jour aucune information directe, et si cela devait un
jour être le cas, je le mentionnerai explicitement. Donc je ne fais que répéter ici ce que vous trouverez sur la toile. Vous trouverez en fin d'article les liens vers les pages que j'ai lues.
2 - Delphi Xe3
2.1 - FireMonkey FM2 - FM2 : "next generation FireMonkey application platform"
- support pour les Actions et ActionLists
Sont dépendante ou non du framework, ou des LiveBindings
- Anchor pour les contrôles
- layout manager : flow et grid
- multi média
- audio-vidéo : visualisation ET capture
Pour Windows et OsX. - composant tMediaPlayerControl
- composants capteurs
- positionnement (Windows et Mac OsX)
- mouvement (Windows)
- designer pour la localisation
- styles
- supporte les styles vectoriels (comme XE2) ET les styles bitmap styles
"pixelperfect" (comme la VCL), utiles pour les écrans rétine (Mac Book)
- designer de style externe redistribuable (partagé avec la VCL)
- supporte les styles pour les zones non-client (barre de titre de la
fenêtre, icônes min, max, fermeture)
- fenêtre transparentes
- style émulant Win8 Metro. Permettra donc d'avoir le style Metro sur Windows XP (l'aspect, mais les LiveTiles ne fonctionneront pas)
- les styles Retina fonctionnent sur les écrans Retina et non-Retina
- le changement de style peut être effectué durant l'exécution
- améliorations 3D
- gestes : gestes standards, et gestes Windows 8 - Touch compatible en source
avec la Vcl
- clavier virtuel
- support DirectX 10
- migration VCL->FMX : clic droit sur une forme Vcl et "convert"
- produits tiers : TMS disponible actuellement, FastReports dans XE3,
ReportBuilder en cours, DevExpress pourrait suivre
Pour les autres points - pas de RichEdit ni de Webbrowser (Ed : nécessiterait des composants natifs)
- vraissemblablement pas encore de lignes d'alignement dans le designer
- l'intégration FMX-VCL pas supportée officiellement (elle a été démontrée par des articles sur le web, mais Xe3 ne supporte pas ces techniques)
- contrôles natifs : dans la plateforme mobile (cf ci-dessous)
- pas de Frame. Prévu pour une version future
2.2 - Windows 8
- création d'applications Delphi ayant le style est les fonctionnalités Windows 8
- Metropolis : nom donné à des applications "desktop" traditionnelles ayant un style leur donnant l'aspect et le comportement de l'interface utilisateur
Metro et sert d'intégrateur de LiveTiles WinRT
Alors, Metro et utilisation de WinRT ou "look Metro" ? D'après Malcolm Grove, entre les deux: ce sont des binaires Intel, mais une intégration permet d'utiliser des "Live Tiles"
Un composant tLiveTemplate créé un proccessus dans l'espace WinRT qui est l'application réelle "WinRT LiveTile". Le LiveTile communique avec l'application Desktop Metropolis en utilisant HTTP/REST pour démarrer ou
stopper l'application ou mettre à jour le LiveTile. - le menu "File | New" comporte une option Metropolis
- conversion d'applications VCL ou FireMonkey en applications Metropolis ayant
l'allure et le fonctionnement Windows 8 en quelques clics
- compte tenu de l'intégration Metro, une application Windows 8 Metro peut fonctionner sur Windows XP
- support Metro des appareils mobiles Intel (gyros, accéléromètres et caméras)
- templates d'applications Metro.
- composant tLiveTile qui permet de sélectionner un type de template live tile (52 templates sont disponibles)
- support de mobiles Surface Pro (appareils Intel) et Samsung Slate (ATOM).
Le support Surface ARM viendra avec le compilateur Arm
Notons - pas de mention de la possibilité de placer des applications dans la "Windows
App Store"
2.3 - Interbase - nouvelle version InterBase XE3, permettant, entre autre, l'inclusion d'Interbase (embedding - "ToGo") dans des applications Windows 8
- inclusion d'Interbase dans iOS et Android lorsque Mobile Studio sera disponible
2.4 - DataSnap - un pilote SqlLite pour DBX
Notons
- pas d'extension fonctionnelles mentionnées
- pas de déploiement serveur sur Linux actuellement
2.5 - LiveBindings
- "Visual LiveBindings designer" : établissement rapide et visuelle de connections
- utilise le Drag and Drop
- par exemple, tire TListBox.SelectedValue sur un tLabel.Text. Dans ce cas, remplit les listes, les tListView, les grilles
- peut utiliser le clic droit sur une entité pour sélectionner une autre
propriété que Text
- peut organiser des groupes de bindings en utilisant des couches à la manière de Photoshop. Peut afficher ou cacher des parties de l'affichage du designer des LiveBinding, et sauvegarder le tout sous forme de bitmap
- Wizard LiveBindings supplémentaires
- le pattern Observer utiliser plus fréquemment pour éviter la création de notifications
- les LiveBindings de grilles FireMonkey utilisent des méthodes pendant la
conception (pas de tDataSource comme en XE2)
- l'éditeur de colonne de grille des LiveBindings a été amélioré
- les LiveBindings sont stockées dans le .DFM, ainsi que dans un fichier .VLB
(stockage des informations concernant le designer LiveBindings)
- tProtoTypeBindSource permet de créer une base prototype sans avoir à créer les tables réelle. Permet aussi de
maquetter des données autres que celles provenant de bases de données (tList <tMyObject> par exemple)
Les données prototype peuvent être remplacées par les données réelles à
l'exécution (ou à la conception lorsque la maquette n'est plus utile). Permet le test des données ou de la mise en page
2.6 - Mac OsX - support OSX Mountain Lion
Styles FireMonkey "Native Mountain Lion" - support des écrans Retina
- compatible App Store Mac (Anders Ohlsson a déjà une application FM2 dans le Mac Store)
- nouvelle page "Entitlement List" pour le "sandboxing OsX"
- page permettant le "Provisioning" (certificats développeurs Mac)
- utilisation de Indy
- utilisation de capteurs comme les capteurs de lumière OsX
- support de Surface Pro (appareils Intel). Le support Surface ARM viendra
avec le compilateur Arm
3 - Mobile Studio - iOs et Android 3.1 - Mobile Studio - Mobile Studio est le nom de la partie chargée de construire des
applications pour mobiles, iOs et Android (et peut être d'autres plateforme mobile éventuellement)
- est considéré comme un produit séparé de Delphi Xe3
- devra être acheté séparément
- fera partie de "All Access" (un mécanisme Embarcadero pour livrer des applications)
- une fois acheté, s'intégrera et fera partie de Rad Studio Xe3 comme une autre facette du studio (comme l'est c++)
- l'achat (ou la mise à jour) de license Xe3 permet de participer aux test du produit
- serait livré au premier trimestre 2013
- utilise FireMonkey, dbExpress, Interbase, SQLite, DataSnap, Indy
- supporte les Gyros, GPS, Caméras et Accéléromètres. Cette librairie est multi plateforme
- le même code source pourra être utilisé pour tous les mobiles
- permet le débogging depuis l'IDE Delphi (ou depuis un simulateur iOs qui
tourne sur OSX)
- le language Delphi (= le front-end) comportera des adaptations destinées aux mobiles, comme la gestion mémoire (comptage de référence automatique)
- le back end de Delphi pour les mobiles (= le compilateur, linker, debugger)
seront optimisés pour générer du binaire pour le processeur ARMv7
- les librairies runtime et le framework FireMonkey seront optimisées pour les mobiles (suppression d'éléments Desktop et ajout de fonctionnalités mobiles)
- contrôles natifs ou "look and feel" :
- une démo a est effectuée affichant un dialogue Popup iOs natif
- la réponse officielle est : les contrôles natifs seront créés "là ou cela
est raisonnable" (where native contros makes sense)
- ou encore "autant que nous le pourrons, les société tierces ou le développeur en ajoutant d'autres"
- il sera possible de développer pour les mobiles Surface/ARM lorsque le
compilateur Armv7 sera terminé.
De plus - rappelons que la partie iOs offerte avec Delphi Xe2 (avec le compilateur Free Pascal) est interrompue (toujours utilisable, mais ne sera pas la base de Mobile Studio)
- l'ensemble repose sur le futur compilateur ArmV7
3.2 - Le Framework FireMonkey Mobile Cette partie provient de l'annonce des futures développements faite par JT: - le nouveau framework FireMonkey mobile
- utililsera les nouvelles fonctionnalités de gestion mémoire de Delphi
- offrira en plus des fonctionnalités spécifiques aux mobiles
- des interfaces utilisateurs iOS et Android natives, ayant l'allure et
le comportement des contrôles natifs
- des contrôles custom, qui pourront partager les styles des applications Desktop Xe3
- un framework de services
- pour les capteurs hardware sensors (GPS, accéléromètres,
gyroscopes, and caméras)
- pour les services de l'Os (la localisation, la publicité et les payements par application)
- les produits mobiles (FireMonkey FM2 pour mobiles et l'environnement de développement pour mobiles)
- comporteront des parties mobiles spécifiques, mais devraient aussi pouvoir utiliser et étendre les applications Xe3 pour Windows et Mac
- permettront donc le développement pour iOs et Android en utilisant
- le même environnement de développement
- le même langage Delphi (ou C++)
- le même framework
- les mêmes sources pour le projet
4 - HTML5 Builder (Rad Studio Xe3) - Html5 Builder : création d'applications web HTML5 et d'applications mobiles pour Android et iOs
- est donc bien le successeur de "RadPhp Xe2", avec un IDE relooké et des fonctionnalités étendues
- permet donc de créer des applications
- avec le front end (les langages) HTML5, CSS3 and JavaScript .
- le serveur avec PHP
Il est donc possible de créer des applications client et des applications mobiles avec HTML5/CSS3/JavaScript sans avoir à créer de serveur PHP. Mais permet aussi de développer des serveur PHP - les types d'application développables sont
- applications Client Mobile
- applications Client Web
- applications Server Mobile
- applications Server Web
Plus - des applications Console
- des applications Server SOAP
- des unités individuelles, comme des pages Client Mobile, des pages Client des Unités Client, des Thèmes Mobile, des Server Data Module, des Pages Server Mobile, des Pages Server, des Unités Server
- ainsi que des composants, des feuilles de style CSS, des Client REST DataSnap REST (pour un serveur Datasnap Delphi sur Windows)
- pour Android, HTML5 Builder installe automatiquement le SDK Android et l'émulateur
- les composants HTML5 supportent le canvas, la géolocation, le stockage local, le multimédia audio/video
- pour produire des applications mobile, utilise PhoneGap (comme le faisait RadPhp
- l'éditeur supporte de code completion pour JavaScript
Naturellement Html5 Builder ne fait pas partie de "Delphi XE3", mais plutôt de "Rad Studio Xe3"
5 - Références Embarcadero
Les autres articles Ainsi que mes autres articles sur Xe3 : - Lancement Delphi Xe3 Le "Delphi XE3 World
Tour" annonce la conférence de Paris en Septembre, et laisse deviner les principales nouveautés, enrichies par les fuites Web: FireMonkey, Windows 8, Html5 (19 Août 2012)
- Delphi Xe3 perspective : les projets prévus après Xe3 : extensions mobiles de Delphi, plateforme Firemonkey FM2 pour
mobile, plateforme mobile, compilateur natif Arm, développement unifié Delphi pour iOs et Android (21 Août 2012)
- Delphi Xe3 Info la version en anglais de cet article, avec des informations supplémentaires (Windows 8, les nouvelles sur
les binaires WinRT et la tentative de nouvelle license Delphi Pro, annulée le 31 Août)
- Récapitulation des nouveautés Delphi Xe3 :
Windows 8 Metro et Metropolis, FireMonkey FM2, DataBindings, Mac OsX, Mobile Studio, Html5 Builder - Point après la conférence du 13 Septembre à Paris (plus complet que les articles précédents)
- Roadmap Mobile Studio Delphi Xe3 : la feuille de route Mobile Studio a été publiée : compilateur ARM natif
pour iOs et Android - calendrier prévisionnel (21 Sept 2012)
Mentionnons aussi que depuis Septembre, nous organisons des
formations Delphi Complète, ainsi que des formations de mise à niveau dédiées spécifiquement aux
nouveautés intervenues depuis Delphi 7.
6 - Vocabulaire
Et comme je ne suis pas réellement un groupie des dernières nouveautés qui font la mode (je travaille en Delphi 6 sur XP, et utilise plutôt mon fixe que, fort rarement, mon téléphone portable classique), il va falloir me mettre à la page
concernant les nouveaux termes. Parmi ceux-ci - "surface pro" : la tablette Microsoft
- Html5
- "mountain lion"
- "slate" : tablette Samsung
- "retina screen" : écran du MacBook
- "Windows 8" - Metro - LiveTiles - les "deux modes de fonctionnement"
- "fat finger"
- "Photoshop Style Layers"
Images de la vidée "preview"
7 - Commentaires
Comme d'habitude: - nous vous remercions de nous signaler toute erreur, inexactitude ou
problème de téléchargement en envoyant un e-mail à jcolibri@jcolibri.com. Les corrections qui en résulteront pourront aider les prochains lecteurs
- tous vos commentaires, remarques, questions, critiques, suggestion d'article, ou mentions d'autres sources sur le même sujet seront de même les bienvenus à jcolibri@jcolibri.com.
- plus simplement, vous pouvez taper (anonymement ou en fournissant votre e-mail pour une réponse) vos commentaires ci-dessus et nous les envoyer en cliquant "envoyer" :
- et si vous avez apprécié cet article, faites connaître notre site, ajoutez un lien dans vos listes de liens ou citez-nous dans vos
blogs ou réponses sur les messageries. C'est très simple: plus nous aurons de visiteurs et de références Google, plus nous écrirons d'articles.
8 - L'auteur
John COLIBRI est passionné par le développement Delphi et les applications de Bases de Données. Il a écrit de nombreux livres et articles, et partage son temps entre le développement de projets (nouveaux projets, maintenance, audit, migration BDE, migration Xe_n, refactoring) pour ses clients, le
conseil (composants, architecture, test) et la
formation. Son site contient des articles
avec code source, ainsi que le programme et le calendrier des stages de formation Delphi, base de données, programmation objet, Services Web, Tcp/Ip et
UML qu'il anime personellement tous les mois, à Paris, en province ou sur site client. |