menu
  Home  ==>  articles  ==>  delphi  ==>  delphi_xe3_recap   

Delphi XE3 Recap - John COLIBRI.



1 - Delphi Xe3 Tour

Une brève synthèse de Delphi Xe3, prenant en compte
  • les informations disponibles sur le Web
  • les présentations de la conférence du 13 Septembre à Paris
  • le la doc Wiki à présent disponible
Mentionnons que je n'ai pas encore eu accès à Delphi Xe3.

Les liens vers ces informations sont en fin d'article




2 - Delphi Xe3



2.2 - Windows 8

5.1 - Un bref résumé

Ceux qui connaissent déjà Windows 8 sauteront sans nul doute cette présentation d'un béotien.

En Septembre 2011, lors d'une conférence "the BUILD", a présenté l'architecture de Windows 8. Le diagramme fondamental est le suivant :

architecture_davidburela



En résumé

  • Windows 8 a fondamentallement 2 parties:
    • la partie "Desktop" utilisant Win32 / .Net / Internet Explorer, qui permet de construire des applications comme nous le faisons actuellement en Windows Xp, Vista, Windows 7
    • la partie "Metro Style" plus orientée mobiles. Cette partie
      • utilisera soit un compilateur x86 soit un compilateur Arm (le processeurs de nombreux mobiles)
      • est basée sur une nouvelle librairie WinRT (cf le diagramme ci-dessus)
      • aura un style nouveau, essentiellement orienté mobile, qui es très particulier compte tenu des spécificités mobile (petit écran, peu de place pour les menus, pas de souris etc). Donc
        • une application à la fois
        • affichage plein écran
        • utilisation de Tiles (pavés que nous pouvons tapoter) et Live Tiles (Tuiles avec mise à jour sous-jacente des textes ou images, par exemple pour la météo)
        • utilisation de "fat finger" (le toucher plutôt que la souris)
  • au niveau stratégique, Windows 8 est donc une tentative Microsoft pour se positionner sur le marché des mobiles. A ce titre, Windows 8 est accompagné par un "Windows Store" du même style que le "Mac Store" (achat d'applications en ligne qui doivent respecter des règles de conformité dictées par Apple ou Windows)
  • cette nouvelle version Windows, et surtout son nouveau style n'a pas reçu un accueil unanime
    • une application Desktop où tout l'écran est pris par une seule application semble pour le moins gauche
    • certains classent déjà Windows 8 dans la catégorie de Vista ou Windows Phone, plutôt que dans la catégorie Win 95, Win 98, Xp ou Windows 7
    • en tant que librairie, WinRt est tour à tour décrit comme une librairie novatrice (vers un Os orienté objet, un pas au-delà de C#, offrant, par exemple, des interfaces d'application) ou un pas en arrière (utilisation de COM et la Registry)


Delphi Xe3 et Windows 8

  • pour la partie Desktop, rien de différent par rapport à Delphi Xe2 (à part les nouveautés Firemonkey FM2 - cf ci-dessous)

  • pour la partie style Metro
    • 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

    • ainsi le menu "File | New" comporte une option "Vcl Metropolis UI Application" et "FireMonkey Metropolis UI Application"

      xe3_file_new_menu

    • il a été clairement précisé à la conférence de Paris que Delphi ne produisait que des applications ayant le style Metro:
      • Ce ne sont pas des applications qui appellent directement l'OS WinRt, et ce ne sont pas des applications mobile
      • elles ne font que présenter une allure, et se comportent comme (gestes etc) des applications ayant le style Metro
      De plus
      • comme il s'agit d'un style, ce type d'application ne fonctionne que sur les tablettes ayant un mode desktop (pas les tablettes Arm pures)
      • l'impossibilité de construire des applications WinRT interdit de placer les applications Delphi Xe3 dans les App Store Windows
    • ceci explique que Delphi XE3 permet de créer des applications "style Metro" qui fonctionneront sur XP (Vista, Windows 7, Windows 8 en mode Desktop)

    • le menu présenté ci-dessus présente un wizard (image pour Firemonkey, mais similaire pour la VCL) :

      ui_applications

      permettant ensuite de choisir parmi 3 types de templates:

      • Template Vide Metropolis UI
      • Application Grille Metropolis UI (grid)

        GridViewFontSm.png GridPanelSM.png

      • Application Volet de fractionnement Metropolis UI (flow)

        SplitPaneFontSM2.png SplitPaneFont2SM2.png

    • comme il s'agit de styles, Firemonkey dont c'est le coeur, est particulièrement bien équipé.

      Firemonkey propose ainsi

      • des boutons à glyphe incorporée eut donc aussi (par exemple un tClearEditButton comportant une croix qui permet l'effacement du texte en cliquant la croix)
      • un "anneau de progression indéterminé animé"
      • une "barre d'application Metropolis UI"

        XButtonMetro.png

    • Delphi ne peut pas générer des applications WinRT, car Microsoft refuse actuellement la compilation par un compilateur autre que Microsoft (C# et C++ Microsoft), officiellement pour une raison de sécurité (cela ouvrirait potentiellement une brèche)

    • un composant tLiveTile qui permet de sélectionner un type de template Live Tile (52 templates sont disponibles). Rappelons que les "Tile" sont des sortes de panel correspondant à un bouton sur un mobile. Une "LiveTile" est une "Tile" avec des informations mises à jour (par exemple la météo)

      Delphi offre alors une mécanique permettant de communiquer peu ou prou avec des "Live Tiles" d'une application WinRT:

      LiveTileOverview

      • 1 L'application envoie les informations de mise à jour à MetropolisSvc par le biais du composant TLiveTile.
      • 2 notre Live Tile Delphi Xe3 reçoit les changements de votre application Metropolis UI via MetropolisSvc une fois par minute. Quand un utilisateur clique sur la Live Tile, il envoie un message à MetropolisSvc.
      • 3 MetropolisSvc indique à LaunchAgentHost, une application de la barre système des tâches sur le bureau de Windows, d'ouvrir le bureau de Windows et d'afficher l'application Metropolis UI en avant-plan.
      • 4 LaunchAgentHost amène l'application Metropolis UI en avant-plan.
      Hem.

    • Delphi Xe3 permet conversion d'applications VCL (ou FireMonkey) en applications Metropolis ayant l'allure et le fonctionnement Windows 8 en quelques clics (menu contextuel etc)

    • support Metro des appareils mobiles Intel (gyros, accéléromètres et caméras)

    • support de mobiles Surface Pro (appareils Intel) et Samsung Slate (ATOM).
      Le support Surface ARM viendra avec le compilateur Arm


Notons
  • le style Metro est clairement pour les mobiles, et la mécanique des Tiles plus appropriée aux portables. Voir une application conçue pour être multifenétrée sur un écran 22 pouces affichée plein écran, en noir, sans menu ni bordure n'est pas très séduisant. Bien sûr nous pourons alors d'un doigt aussi négligent que blasé faire valser l'affichage vers la droite ou la gauche. Restera à demander au client ce qu'il en pensera après une journée de ce type de gyrie.


2.1 - FireMonkey FM2

  • FM2 : "next generation FireMonkey application platform"

  • support pour les Actions et ActionLists
    • certaines fonctionnalités sont implémentées dans la RTL et peuvent dont être utilisées par la VCL et FireMonkey.
    • des actions spécifiques Firemonkey sont implémentées dans des unités spécifiques à Firemonkey. Toutefois ces actions spécifiques ne peuvent être gérées par l'éditeur d'actions VCL
    Les actions sont indépendantes des LiveBindings.
  • Anchor pour les contrôles (conserve la distance par rapport aux bords lorsque la taille de la fenêtre est modifiée)
  • layout manager :
    • grid (cellules de taille fixe)
    • flow (comme les mots dans un traitement de texte) et grid. Ci dessous flow aligné à gauche ou centré

      FlowLayout_center.png FlowLayout.png

  • multi média
    • audio-vidéo : visualisation ET capture
      Pour Windows et OsX.
    • composant tMediaPlayerControl
  • composants capteurs
    • positionnement (Windows et Mac OsX)
    • mouvement (Windows)
  • 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. L'application détecte la présence ou l'absence d'un écran Rétina et adapte l'affichage
    • le changement de style peut être effectué durant l'exécution
  • gestes :
    • gestes standards, et gestes Windows 8
    • le touch est compatible en source avec la Vcl
    • comme pour la VCL les gestes sont simulable par la souris (clic, tirer, lâcher), sauf pour le multi-touch
  • clavier virtuel
  • améliorations 3D
    • support DirectX 10 et DirectX 10
    • shaders
    • texture
    • importation des modèles 3D
  • migration VCL->FMX : clic droit sur une forme Vcl et "convert"
  • produits tiers :
    • TMS disponible actuellement
    • FastReports dans XE3
    • ReportBuilder en cours


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
  • le mélange 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 tFrame. Prévu pour une version future
  • migration DevExpress : certains blogs actuels ne sont pas optimistes sur leur implication


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 la frappe de texte dans un tEdit modifie le texte d'un tButton

      livebinding_designer

      ou encore, avec un exemple plus complexe:

    • 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

  • il existe aussi des Wizard (experts) LiveBindings :

    LBWBindingTask.png

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

    Voici un exemple avec une tColorListBox

    livebinding_designer

    correspondant à

    LiveBindingsDesignerForm.png

    ou encore

    livebindings_prototyping

    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



En résumé
  • les Livebindings, comme en Xe2, ont surtout été créés pour FireMonkey et les cibles Mac et téléphone, pour lesquels Livebindings est le seul moyen (via des composants de l'IDE) de se connecter aux bases de données. Mais les Livebindings peuvent aussi être utilisé pour la Vcl et Windows en remplaçant les tDbxxx (tDbEdit, tDbGrid etc)
  • le Livebindings Designer évite la frappe d'expression définissant la propagation des données. Mais ces expressions sont encore visualisables dans l'éditeur d'expressions


2.6 - Mac OsX

  • support OsX "Lion" et "Mountain Lion"
    Styles FireMonkey "Native Mountain Lion"
  • support des écrans Retina (résolution multipliée par 4)
  • compatible App Store Mac (Anders Ohlsson a déjà une application FM2 dans le Mac Store)
  • nouvelle page "Entitlement List" pour le "sandboxing OsX", correspondant aux opérations obligatoires pour placer des applications dans le Mac Store
  • page permettant le "Provisioning" (certificats développeurs Mac)
  • utilisation de Indy
  • utilisation de capteurs comme les capteurs de lumière OsX



3 - Mobile Studio - iOs et Android - A venir

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
  • 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)
    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 (en Australie) 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 controls 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é.

  • 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


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
  • Delphi Xe2 générera alors du code binaire Arm (compilé sur Windows) qui sera téléchargé sur le mobile Arm. Le "Platform Assistant" sera utilisé pour télécharger l'application, et éventuellement piloter le debugging distant (pas à pas sur Windows, exécution sur le mobile)



4 - HTML5 Builder (Rad Studio Xe3, pas Delphi)

  • Html5 Builder: création d'applications web HTML5 et d'applications mobiles pour Android et iOs

    html5_builder

  • 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


Remarquons que
  • Html5 Builder ne fait pas partie de "Delphi XE3", mais plutôt de "Rad Studio Xe3"
  • alors que RadStudio PHP ciblait surtout le développement de serveurs PHP (écriture de code PHP, avec éventuellement des parties Javascript qui générait des pages Web), Html5 Builder permet en plus de créer des applications client: ces applications sont téléchargées sur le client et sont exécutées sur ce client sans aucun appel à un serveur. Ces applications client sont écrites en JavaScript, Html5 et Css3
  • Html5 Builder s'appuie fortement sur des frameworks open source largement diffusés
    • jQuery (un librairie de composants)
    • PhoneGap (un framework de packaging des applications pour les mobiles)
  • la cible est, ici encore (comme Windows 8 Metro, comme le future mobile studio) le marché des mobiles



5 - Références

Windows 8 and WinRT articles

Embarcadero à propose de Delphi Xe3

Résumé précédents de participants aux conférences World Tour

Ainsi que mes autres articles sur Xe3 (obsolètes):
  • 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)
  • 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 Xe3, 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
  • Windows 8
    • "surface pro" : la tablette Microsoft
    • "slate" : tablette Samsung
    • "Windows 8" - Metro - LiveTiles - les "deux modes de fonctionnement"
    • "fat finger"
    • LOB "Line of Business"
    • SideLoading
  • Mac
    • Osx "Lion" et OsX "mountain lion"
    • "retina screen" : écran du MacBook
  • Html5
  • mobile
    • "Sideloading" (+- transférer) vs "streaming" (pour une musique, par exemple, écouter à la volée, sans savegarder d'abord sur disque)
  • "Photoshop Style Layers"


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" :
    Nom :
    E-mail :
    Commentaires * :
     

  • 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.
Créé: aug-12. Maj: aou-15  148 articles, 471 sources .ZIP, 2.021 figures
Contact : John COLIBRI - Tel: 01.42.83.69.36 / 06.87.88.23.91 - email:jcolibri@jcolibri.com
Copyright © J.Colibri   http://www.jcolibri.com - 2001 - 2015
Retour:  Home  Articles  Formations  Développement Delphi  Livres  Pascalissime  Liens  Download
l'Institut Pascal

John COLIBRI

+ Home
  + articles_avec_sources
    + bases_de_donnees
    + web_internet_sockets
    + prog_objet_composants
    + office_com_automation
    + colibri_utilities
    + uml_design_patterns
    + graphique
    + delphi
      – delphi_8_vcl_net
      – d8_windows_forms
      – turbo_delphi
      – les_versions_delphi
      – roadmap_delphi_6/7
      – ide_delphi_2006
      – rad_studio_2007
      – roadmap_delphi_4/8
      – raccourcis_clavier
      – delphi_prism
      – roadmap_delphi_8/10
      – demos_sur_sourceforge
      – delphi_xe
      – migration_unicode
      – delphi_xe2
      – delphi_xe2_tour
      – roadmap_2011
      – maj_delphi_xe2_1
      – delphi_xe3_lancement
      – delphi_xe3_et_apres
      – delphi_xe3_infos
      – delphi_xe3_recap
      – roadmap_mobile_studio
      – delphi_xe4_ios
      – delphi_xe4_android
      – roadmap_delphi_2014
      – rachat_embarcadero
    + outils
    + firemonkey
    + vcl_rtl
    + colibri_helpers
    + colibri_skelettons
  + formations
  + developpement_delphi
  + présentations
  + pascalissime
  + livres
  + entre_nous
  – télécharger

contacts
plan_du_site
– chercher :

RSS feed  
Blog

Migration Delphi migration de versions Delphi, migration Unicode, migration BDE / base de données, migration Internet - Tél 01.42.83.69.36