SlideShare une entreprise Scribd logo
Découvrez FireDAC pour FMX
Webinaire du 30 octobre 2018
(c) Patrick Prémartin / developpeur-pascal.fr
Au menu du jour
• Introduction
• FireDAC en multiplateforme
• Utiliser FireDAC dans un projet Firemonkey sous Windows / macOS
• Utiliser FireDAC dans un projet Firemonkey sous iOS / Android
• Démos
• Questions / réponses
• Conclusion
(c) Patrick Prémartin / developpeur-pascal.fr
Introduction
(c) Patrick Prémartin / developpeur-pascal.fr
Introduction
• Présentation de la société Olf Software
https://www.olfsoftware.fr
• Présentation de Patrick Prémartin
https://www.linkedin.com/in/patrickpremartin/
• Les différentes versions de Delphi
https://www.embarcadero.com/fr/products/delphi
• Voir ou revoir les webinaires précédents
https://vasur.fr/webinairesdelphi
(c) Patrick Prémartin / developpeur-pascal.fr
A propos de Olf Software
• Depuis octobre 2001 la société de services Olf Software propose des
prestations de conseil, développement et formation sur les
technologies liées au web et au développement logiciel.
• Organisme de formation enregistré en début 2018 et référencé sur
Datadock, Olf Software s’est recentrée sur la formation
professionnelle en lien avec Delphi.
• Des formations inter entreprises sont organisées régulièrement et
annoncées sur https://www.se-former-a-delphi.fr/
• Des formations intra entreprise personnalisées sont organisées sur
demande.
(c) Patrick Prémartin / developpeur-pascal.fr
Et votre hôte pour ce webinaire
• Ancien utilisateur de Turbo Pascal, amoureux de Delphi depuis
toujours, développeur web depuis NCSA Mosaic…
• Prestataire et formateur à travers sa société Olf Software ou en sous-
traitance pour d’autres entreprises.
• Editeur du blog https://www.developpeur-pascal.fr dédié au
développement en Pascal (essentiellement) sous Delphi.
• MVP Embarcadero pour les technologies liées à Delphi depuis octobre
2017
• Auteur d’articles, de livres et parfois même conférencier.
(c) Patrick Prémartin / developpeur-pascal.fr
Les versions de Delphi
• Plusieurs licences de Delphi existent (vendu seul ou dans RAD Studio):
• Academic : pour les établissements d’enseignement et leurs étudiants
• Community Edition : gratuit pour tous, en licence commerciale limitée
• Professional, Enterprise, Architect : pour les entreprises, selon leurs besoins
• Pour toutes informations sur les licences et les tarifs contactez la
société Barnsten sur https://www.barnsten.com/fr/
(c) Patrick Prémartin / developpeur-pascal.fr
Les versions de Delphi
• Firemonkey est disponible avec toutes les versions de Delphi pour
Windows, macOS, iOS et Android.
• Une version Linux de Firemonkey est disponible auprès de KS Dev
sous le nom « FMXLinux » et peut être utilisée dans les versions
Enterprise et Architect qui possèdent un compilateur Linux.
• FireDAC est disponible dans chaque version avec plus ou moins de
fonctionnalités.
(c) Patrick Prémartin / developpeur-pascal.fr
Les webinaires précédents
• Je participe régulièrement à des webinaires organisés par la société
Barnsten. Une page leur est consacrée sur le blog à l’adresse
https://vasur.fr/webinairesdelphi
• Vous y trouverez les rediffusions en vidéos lorsqu’elles sont
disponibles, un PDF de ma présentation, le lien vers les sources des
exemples présentés et des informations complémentaires.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC en multiplateforme
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC en multiplateforme
• Pas de grande différence avec l’utilisation en VCL
• Côté code source les unités de FireDAC commencent par « FireDAC. »
• Certaines sont liées à l’environnement d’exécution, par exemple celles
qui gèrent les curseurs dans les ensembles de données :
• FireDAC.FMXUI.Wait pour les projets Firemonkey
• FireDAC.VCLUI.Wait pour les projets VCL
• FireDAC.ConsoleUI.Wait pour les projets sans interface graphique
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC en multiplateforme
• Quand on utilise FireDAC dans une unité sans fiche ou dans un projet en console
il n’est pas aisé de se souvenir de toutes les unités utiles.
• Astuce :
• Créez une fiche (VCL ou FMX) ou un TDataModule.
• Placez les composants qui vous intéressent dessus.
• Faites un simple Ctrl + S (et annulez l’enregistrement si vous n’en avez pas besoin).
• L’EDI aura ajouté les unités nécessaires au USES de l’unité.
• Vous n’avez plus qu’à faire un copier/coller en pensant à adapter les noms d’unités ayant
« VCL » ou « FMX » dedans.
• Bien entendu ça marche pour tout, pas que pour retrouver les (nombreuses)
unités liées à FireDAC.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC en multiplateforme
• Dans Firemonkey, contrairement à la VCL, nous n’avons pas de composants
verrouillés sur des ensembles de données (les TDBxxx). Nous utilisons donc
LiveBindings pour les alimenter automatiquement ou devons le coder à la
main dans les programmes.
• Petit point négatif : tout ne se fait pas tout seul à partir des propriétés.
Il faut savoir faire un clic droit et des glisser/déplacer à la souris.
• Gros point positif : tous les composants sont utilisables en liaison avec des
ensembles de données.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX:
Windows et macOS
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: Windows et macOS
• A l’heure actuelle (en version Delphi 10.2.3 Tokyo) Embarcadero
fournit ces compilateurs « desktop » accessibles avec la version
standard de Firemonkey:
• Windows en 32 bits
• Windows en 64 bits
• macOS en 32 bits
La version 64 bits nécessaire pour diffuser des logiciels sur le Mac App Store
d’Apple arrivera prochainement d’après la ROADMAP d’août 2018.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: Windows et macOS
• Pour un logiciel sous Windows ou macOS toutes les bases de données
sont accessibles (selon la version de Delphi pour la disponibilité des
drivers).
• En local on peut utiliser SQLite, IBLite, IBToGo ou Interbase Desktop.
• En client / serveur on peut utiliser les classiques MySQL, SQL Server,
Oracle et MongoDB comme base NoSQL.
• Bien entendu l’énumération des bases n’est pas restrictive, de
nombreux autres drivers sont fournis ou disponibles sur le marché
(notamment DB2/400 pour les utilisateurs d’AS/400).
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: Windows et macOS
• Pour les logiciels « desktop » j’utilise la plupart du temps SQLite
lorsque je n’ai pas de besoins de stockage de données à distance ni
d’accès concurrents sur les mêmes données.
• Lorsqu’il faut aller au delà d’une base de données par poste de travail,
je m’adapte en fonction de l’environnement informatique du client et
de ses possibilités budgétaires.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX:
iOS et Android
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: iOS et Android
• A l’heure actuelle (en version Delphi 10.2.3 Tokyo) Embarcadero
fournit ces compilateurs « mobiles » accessibles avec la version
standard de Firemonkey:
• iOS en 32 bits pour pouvoir compiler sur de vieux appareils
• iOS en 64 bits
• Android pour processeurs ARM 32 bits
Une version 64 bits est sur la ROADMAP.
Une version ANDROID pour processeurs INTEL a aussi été évoquée mais n’est
pas sur la ROADMAP pour le moment.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: iOS et Android
• En environnement mobile il n’est pas possible de faire des accès
client/serveur en direct car les drivers des bases de données de ce
type ne sont pas disponibles. On doit donc ruser.
• On peut utiliser des bases locales comme SQLite, IBLite et IBToGo.
• On peut utiliser DataSNAP grâce à ses fonctionnalités client/serveur
et ainsi accéder à un serveur distant développé sous Delphi qui aurait
lui-même accès à toutes les bases de données du marché via FireDAC.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: iOS et Android
• Dans les applications mobiles nécessitant un stockage local de
données je passe systématiquement par SQLite. Il est disponible en
standard sur tous les systèmes d’exploitation et fonctionnement
plutôt bien.
• Les seuls cas où j’ai eu à passer par IBLite ou IBToGo étaient des
environnements où Interbase était déjà utilisé en client/serveur.
Avoir la même base de données partout est plus simple pour la
maintenance, le partage de code et les habitudes de développement.
(c) Patrick Prémartin / developpeur-pascal.fr
FireDAC avec FMX: iOS et Android
• Dans les cas d’applications devant être synchronisées avec une base
de données extérieure je fais généralement un cache des données
utiles en SQLite que je synchronise « à la main » ou des accès distants
directs par l’intermédiaire de DataSnap.
• Dans les cas d’accès à des données sur Internet, l’utilisation d’une API
REST en https avec des échanges de données JSON (de préférence
aussi chiffrés) reste le plus simple.
(c) Patrick Prémartin / developpeur-pascal.fr
Démos
(c) Patrick Prémartin / developpeur-pascal.fr
Questions / réponses
(c) Patrick Prémartin / developpeur-pascal.fr
Conclusion
(c) Patrick Prémartin / developpeur-pascal.fr
En savoir plus sur FireDAC
• A travers ce webinaire je ne pouvais pas tout dire sur FireDAC. Voici
quelques liens pour en apprendre plus.
• Documentation officielle :
https://vasur.fr/docfiredac
• Le livre « Delphi in Depth: FireDAC » de Cary Jensen :
https://amzn.to/2yFfUqS
• Les articles consacrés aux bases de données sur mon blog :
https://vasur.fr/devpasbdd
(c) Patrick Prémartin / developpeur-pascal.fr
Conclusion
• Ce webinaire et les sources des démos seront rapidement mis à disposition sur le
blog https://www.developpeur-pascal.fr
• Les prochains événements en live :
• Conférence sur C++Builder le 14 novembre à Paris.
• Conférence de lancement de RAD Studio 10.3 Rio le 15 novembre à Paris.
• Prochain webinaire le 25 novembre 2018 consacré à l’échange et la
synchronisation de données.
• Inscrivez-vous depuis https://www.barnsten.com/fr/events
(c) Patrick Prémartin / developpeur-pascal.fr

Contenu connexe

Tendances

Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateforme
pprem
 
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHPRéalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Alexandre Morgaut
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductionRoland Benedetti
 
Techday Arrow Group: Delphi Xe5 Android - une approche par la 3D
Techday Arrow Group: Delphi Xe5 Android - une approche par la 3DTechday Arrow Group: Delphi Xe5 Android - une approche par la 3D
Techday Arrow Group: Delphi Xe5 Android - une approche par la 3D
Arrow Group
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTIC
Christian Charreyre
 
Presentation forges logicielles à mathrice
Presentation forges logicielles à mathricePresentation forges logicielles à mathrice
Presentation forges logicielles à mathriceolberger
 

Tendances (6)

Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateforme
 
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHPRéalisation d’applications Desktop Windows/Mac Os avec PHP
Réalisation d’applications Desktop Windows/Mac Os avec PHP
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
Techday Arrow Group: Delphi Xe5 Android - une approche par la 3D
Techday Arrow Group: Delphi Xe5 Android - une approche par la 3DTechday Arrow Group: Delphi Xe5 Android - une approche par la 3D
Techday Arrow Group: Delphi Xe5 Android - une approche par la 3D
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTIC
 
Presentation forges logicielles à mathrice
Presentation forges logicielles à mathricePresentation forges logicielles à mathrice
Presentation forges logicielles à mathrice
 

Similaire à Découvrez FireDAC pour FMX

Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jour
pprem
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
pprem
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
pprem
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !
pprem
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
pprem
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMX
pprem
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
pprem
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
pprem
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
pprem
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
pprem
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphi
pprem
 
Php sous Windows - webcamps Paris
Php sous Windows - webcamps ParisPhp sous Windows - webcamps Paris
Php sous Windows - webcamps ParisLeTesteur
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
pprem
 
Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119
Paris Android User Group
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
Christophe Zome
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
Alexandre Pereira
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.0
Mathurin Body
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
Jérémy Buget
 
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Loic BILLET
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIY
laurenthuet
 

Similaire à Découvrez FireDAC pour FMX (20)

Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jour
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMX
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphi
 
Php sous Windows - webcamps Paris
Php sous Windows - webcamps ParisPhp sous Windows - webcamps Paris
Php sous Windows - webcamps Paris
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
 
Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.0
 
Introduction à web assembly
Introduction à web assemblyIntroduction à web assembly
Introduction à web assembly
 
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIY
 

Plus de pprem

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
pprem
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
pprem
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
pprem
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
pprem
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
pprem
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
pprem
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Android
pprem
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
pprem
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
pprem
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
pprem
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succès
pprem
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internet
pprem
 
Trafic
TraficTrafic
Traficpprem
 

Plus de pprem (13)

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Android
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succès
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internet
 
Trafic
TraficTrafic
Trafic
 

Découvrez FireDAC pour FMX

  • 1. Découvrez FireDAC pour FMX Webinaire du 30 octobre 2018 (c) Patrick Prémartin / developpeur-pascal.fr
  • 2. Au menu du jour • Introduction • FireDAC en multiplateforme • Utiliser FireDAC dans un projet Firemonkey sous Windows / macOS • Utiliser FireDAC dans un projet Firemonkey sous iOS / Android • Démos • Questions / réponses • Conclusion (c) Patrick Prémartin / developpeur-pascal.fr
  • 3. Introduction (c) Patrick Prémartin / developpeur-pascal.fr
  • 4. Introduction • Présentation de la société Olf Software https://www.olfsoftware.fr • Présentation de Patrick Prémartin https://www.linkedin.com/in/patrickpremartin/ • Les différentes versions de Delphi https://www.embarcadero.com/fr/products/delphi • Voir ou revoir les webinaires précédents https://vasur.fr/webinairesdelphi (c) Patrick Prémartin / developpeur-pascal.fr
  • 5. A propos de Olf Software • Depuis octobre 2001 la société de services Olf Software propose des prestations de conseil, développement et formation sur les technologies liées au web et au développement logiciel. • Organisme de formation enregistré en début 2018 et référencé sur Datadock, Olf Software s’est recentrée sur la formation professionnelle en lien avec Delphi. • Des formations inter entreprises sont organisées régulièrement et annoncées sur https://www.se-former-a-delphi.fr/ • Des formations intra entreprise personnalisées sont organisées sur demande. (c) Patrick Prémartin / developpeur-pascal.fr
  • 6. Et votre hôte pour ce webinaire • Ancien utilisateur de Turbo Pascal, amoureux de Delphi depuis toujours, développeur web depuis NCSA Mosaic… • Prestataire et formateur à travers sa société Olf Software ou en sous- traitance pour d’autres entreprises. • Editeur du blog https://www.developpeur-pascal.fr dédié au développement en Pascal (essentiellement) sous Delphi. • MVP Embarcadero pour les technologies liées à Delphi depuis octobre 2017 • Auteur d’articles, de livres et parfois même conférencier. (c) Patrick Prémartin / developpeur-pascal.fr
  • 7. Les versions de Delphi • Plusieurs licences de Delphi existent (vendu seul ou dans RAD Studio): • Academic : pour les établissements d’enseignement et leurs étudiants • Community Edition : gratuit pour tous, en licence commerciale limitée • Professional, Enterprise, Architect : pour les entreprises, selon leurs besoins • Pour toutes informations sur les licences et les tarifs contactez la société Barnsten sur https://www.barnsten.com/fr/ (c) Patrick Prémartin / developpeur-pascal.fr
  • 8. Les versions de Delphi • Firemonkey est disponible avec toutes les versions de Delphi pour Windows, macOS, iOS et Android. • Une version Linux de Firemonkey est disponible auprès de KS Dev sous le nom « FMXLinux » et peut être utilisée dans les versions Enterprise et Architect qui possèdent un compilateur Linux. • FireDAC est disponible dans chaque version avec plus ou moins de fonctionnalités. (c) Patrick Prémartin / developpeur-pascal.fr
  • 9. Les webinaires précédents • Je participe régulièrement à des webinaires organisés par la société Barnsten. Une page leur est consacrée sur le blog à l’adresse https://vasur.fr/webinairesdelphi • Vous y trouverez les rediffusions en vidéos lorsqu’elles sont disponibles, un PDF de ma présentation, le lien vers les sources des exemples présentés et des informations complémentaires. (c) Patrick Prémartin / developpeur-pascal.fr
  • 10. FireDAC en multiplateforme (c) Patrick Prémartin / developpeur-pascal.fr
  • 11. FireDAC en multiplateforme • Pas de grande différence avec l’utilisation en VCL • Côté code source les unités de FireDAC commencent par « FireDAC. » • Certaines sont liées à l’environnement d’exécution, par exemple celles qui gèrent les curseurs dans les ensembles de données : • FireDAC.FMXUI.Wait pour les projets Firemonkey • FireDAC.VCLUI.Wait pour les projets VCL • FireDAC.ConsoleUI.Wait pour les projets sans interface graphique (c) Patrick Prémartin / developpeur-pascal.fr
  • 12. FireDAC en multiplateforme • Quand on utilise FireDAC dans une unité sans fiche ou dans un projet en console il n’est pas aisé de se souvenir de toutes les unités utiles. • Astuce : • Créez une fiche (VCL ou FMX) ou un TDataModule. • Placez les composants qui vous intéressent dessus. • Faites un simple Ctrl + S (et annulez l’enregistrement si vous n’en avez pas besoin). • L’EDI aura ajouté les unités nécessaires au USES de l’unité. • Vous n’avez plus qu’à faire un copier/coller en pensant à adapter les noms d’unités ayant « VCL » ou « FMX » dedans. • Bien entendu ça marche pour tout, pas que pour retrouver les (nombreuses) unités liées à FireDAC. (c) Patrick Prémartin / developpeur-pascal.fr
  • 13. FireDAC en multiplateforme • Dans Firemonkey, contrairement à la VCL, nous n’avons pas de composants verrouillés sur des ensembles de données (les TDBxxx). Nous utilisons donc LiveBindings pour les alimenter automatiquement ou devons le coder à la main dans les programmes. • Petit point négatif : tout ne se fait pas tout seul à partir des propriétés. Il faut savoir faire un clic droit et des glisser/déplacer à la souris. • Gros point positif : tous les composants sont utilisables en liaison avec des ensembles de données. (c) Patrick Prémartin / developpeur-pascal.fr
  • 14. FireDAC avec FMX: Windows et macOS (c) Patrick Prémartin / developpeur-pascal.fr
  • 15. FireDAC avec FMX: Windows et macOS • A l’heure actuelle (en version Delphi 10.2.3 Tokyo) Embarcadero fournit ces compilateurs « desktop » accessibles avec la version standard de Firemonkey: • Windows en 32 bits • Windows en 64 bits • macOS en 32 bits La version 64 bits nécessaire pour diffuser des logiciels sur le Mac App Store d’Apple arrivera prochainement d’après la ROADMAP d’août 2018. (c) Patrick Prémartin / developpeur-pascal.fr
  • 16. FireDAC avec FMX: Windows et macOS • Pour un logiciel sous Windows ou macOS toutes les bases de données sont accessibles (selon la version de Delphi pour la disponibilité des drivers). • En local on peut utiliser SQLite, IBLite, IBToGo ou Interbase Desktop. • En client / serveur on peut utiliser les classiques MySQL, SQL Server, Oracle et MongoDB comme base NoSQL. • Bien entendu l’énumération des bases n’est pas restrictive, de nombreux autres drivers sont fournis ou disponibles sur le marché (notamment DB2/400 pour les utilisateurs d’AS/400). (c) Patrick Prémartin / developpeur-pascal.fr
  • 17. FireDAC avec FMX: Windows et macOS • Pour les logiciels « desktop » j’utilise la plupart du temps SQLite lorsque je n’ai pas de besoins de stockage de données à distance ni d’accès concurrents sur les mêmes données. • Lorsqu’il faut aller au delà d’une base de données par poste de travail, je m’adapte en fonction de l’environnement informatique du client et de ses possibilités budgétaires. (c) Patrick Prémartin / developpeur-pascal.fr
  • 18. FireDAC avec FMX: iOS et Android (c) Patrick Prémartin / developpeur-pascal.fr
  • 19. FireDAC avec FMX: iOS et Android • A l’heure actuelle (en version Delphi 10.2.3 Tokyo) Embarcadero fournit ces compilateurs « mobiles » accessibles avec la version standard de Firemonkey: • iOS en 32 bits pour pouvoir compiler sur de vieux appareils • iOS en 64 bits • Android pour processeurs ARM 32 bits Une version 64 bits est sur la ROADMAP. Une version ANDROID pour processeurs INTEL a aussi été évoquée mais n’est pas sur la ROADMAP pour le moment. (c) Patrick Prémartin / developpeur-pascal.fr
  • 20. FireDAC avec FMX: iOS et Android • En environnement mobile il n’est pas possible de faire des accès client/serveur en direct car les drivers des bases de données de ce type ne sont pas disponibles. On doit donc ruser. • On peut utiliser des bases locales comme SQLite, IBLite et IBToGo. • On peut utiliser DataSNAP grâce à ses fonctionnalités client/serveur et ainsi accéder à un serveur distant développé sous Delphi qui aurait lui-même accès à toutes les bases de données du marché via FireDAC. (c) Patrick Prémartin / developpeur-pascal.fr
  • 21. FireDAC avec FMX: iOS et Android • Dans les applications mobiles nécessitant un stockage local de données je passe systématiquement par SQLite. Il est disponible en standard sur tous les systèmes d’exploitation et fonctionnement plutôt bien. • Les seuls cas où j’ai eu à passer par IBLite ou IBToGo étaient des environnements où Interbase était déjà utilisé en client/serveur. Avoir la même base de données partout est plus simple pour la maintenance, le partage de code et les habitudes de développement. (c) Patrick Prémartin / developpeur-pascal.fr
  • 22. FireDAC avec FMX: iOS et Android • Dans les cas d’applications devant être synchronisées avec une base de données extérieure je fais généralement un cache des données utiles en SQLite que je synchronise « à la main » ou des accès distants directs par l’intermédiaire de DataSnap. • Dans les cas d’accès à des données sur Internet, l’utilisation d’une API REST en https avec des échanges de données JSON (de préférence aussi chiffrés) reste le plus simple. (c) Patrick Prémartin / developpeur-pascal.fr
  • 23. Démos (c) Patrick Prémartin / developpeur-pascal.fr
  • 24. Questions / réponses (c) Patrick Prémartin / developpeur-pascal.fr
  • 25. Conclusion (c) Patrick Prémartin / developpeur-pascal.fr
  • 26. En savoir plus sur FireDAC • A travers ce webinaire je ne pouvais pas tout dire sur FireDAC. Voici quelques liens pour en apprendre plus. • Documentation officielle : https://vasur.fr/docfiredac • Le livre « Delphi in Depth: FireDAC » de Cary Jensen : https://amzn.to/2yFfUqS • Les articles consacrés aux bases de données sur mon blog : https://vasur.fr/devpasbdd (c) Patrick Prémartin / developpeur-pascal.fr
  • 27. Conclusion • Ce webinaire et les sources des démos seront rapidement mis à disposition sur le blog https://www.developpeur-pascal.fr • Les prochains événements en live : • Conférence sur C++Builder le 14 novembre à Paris. • Conférence de lancement de RAD Studio 10.3 Rio le 15 novembre à Paris. • Prochain webinaire le 25 novembre 2018 consacré à l’échange et la synchronisation de données. • Inscrivez-vous depuis https://www.barnsten.com/fr/events (c) Patrick Prémartin / developpeur-pascal.fr