SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Coder sans coder :
Delphi “no code”!
Webinaire du 30 septembre 2021
PRÉSENTATEUR
MVP Embarcadero
Prestataire informatique freelance et formateur Delphi
Editeur de Zone-Abo et de nombreux sites accessibles
gratuitement, sur abonnement mensuel ou annuel.
https://zone-abo.fr
CV et contacts :
https://www.linkedin.com/in/patrickpremartin/
Outils Embarcadero
Les meilleurs outils de développement multi-
plateformes. Créez une fois et déployez des
applications modernes sur chaque plateforme.
Support Technique
Nos techniciens sont à votre service à tout
moment pour répondre à vos questions et
vous fournir des informations sûres.
Distributeur Officiel
Partenaire exclusif de Embarcadero
Technologies, largement reconnu pour
ses produits de programmation primés.
B A R N S T E N
QUI
Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
FORMATION
Olf Software est centre de formation référencé sur
Datadock.
Des formations personnalisées ou « clé en main » à
Delphi et d’autres technologies sont dispensées à
distance (sur Zoom).
https://se-former-a-delphi.fr
R E S S O U R C E S D E L P H I
AUTO
Une formation d’initiation à la programmation, Delphi,
VCL et FireMonkey de presque 60 heures disponible
gratuitement.
Des cours plus spécifiques dédiés à Delphi et son
écosystème réservés aux abonnés Zone-Abo.
https://apprendre-delphi.fr
R E S S O U R C E S D E L P H I
DEVELOPPEUR
Blog sur Delphi et le Pascal.
De l’actualité, des articles techniques, des annonces de
conférences, présentations et formations de groupe.
https://developpeur-pascal.fr
R E S S O U R C E S D E L P H I
SERIAL
Rediffusion gratuite de webinaires et conférences liées à
Delphi ou d’autres technologies de développement.
Des vidéos de codage en direct et des ressources
réservées aux abonnés Zone-Abo.
https://serialstreameur.fr
R E S S O U R C E S D E L P H I
DELPHI
Un catalogue de livres techniques en lien avec la
programmation Pascal ou dédiés à Delphi.
Une API donnant accès aux livres publiés depuis 1980 et
servant aussi de bac à sable pour s’exercer avec REST.
https://delphi-books.com
R E S S O U R C E S D E L P H I
AU
• Introduction
• Code, Low Code, No Code ?
• FireMonkey Low Code App Wizard
• Coder en Delphi sans coder
• Conclusion
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Le « no code » est omniprésent dans la presse,
dans la tête des commerciaux et des managers
non informaticiens qui se disent que tout est
faisable par tout le monde sans connaissances en
programmation.
Est-ce vrai ?
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Il existe pléthore de sites et logiciels permettant
de faire du no code en se servant de modules
préconçus qu’on assemble entre eux.
Des composants comme on les connaît sur Delphi
depuis sa sortie en 1995 mais basés
généralement sur des micro services en ligne.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
On « simplifie » la conception de logiciels,
d’applications mobiles et de sites Internet en
perdant sans s’en rendre compte la propriété de
ce que l’on fait et en s’en remettant totalement à
des tiers, parfois plus nombreux qu’on ne le
pense avec les dépendances des éléments
utilisés.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Depuis toujours Delphi et C++Builder ont une
approche RAD (Rapid Application Development)
mais nous restons maître de ce que nous faisons
et pouvons toujours intervenir sur ce que nous
n’avons pas fait en ayant les sources des librairies
fournies.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Voyons jusqu’où nous pouvons pousser la
démarche « RAD » et si nous avons vraiment
besoin de coder…
© Patrick Prémartin / developpeur-pascal.fr
CODE,
Pour commencer, quelques définitions :
- Code : programmer en alignant du code
source,
- Low Code : utiliser des générateurs de code ou
des assemblages d’éléments permettant de
limiter la programmation,
- No Code : utiliser uniquement des éléments
préfabriqués, sans faire une ligne de code.
© Patrick Prémartin / developpeur-pascal.fr
CODE,
Delphi et C++Builder ont une approche RAD.
Nous utilisons des concepteurs et générateurs de
code embarqués dans des assistants de l’IDE ou
des concepteurs visuels.
© Patrick Prémartin / developpeur-pascal.fr
CODE,
L’IDE de RAD Studio permet de tout faire. Il nous
laisse libre de choisir la méthode la plus adaptée
pour concevoir nos logiciels.
© Patrick Prémartin / developpeur-pascal.fr
CODE,
Je ne vous ferai pas de démonstration de codage,
vous savez déjà de quoi il s’agit et si ce n’est pas
le cas jetez un œil à ces centaines d’heures de
développement en direct :
https://serialstreameur.fr/live-coding.php
© Patrick Prémartin / developpeur-pascal.fr
FMX LOW CODE
L’assistant « FireMonkey Low Code App Wizard »
est proposé par Embarcadero sur GetIt depuis la
version 10.4.2 de Delphi.
Une fois téléchargé il permet de générer une
application mobile avec un choix d’écrans
prédéfinis.
© Patrick Prémartin / developpeur-pascal.fr
FMX LOW CODE
Un projet de tests unitaires et le projet de
l’application mobile sont générés.
Les écrans sont pré remplis.
Les enchainements d’écrans sont gérés.
© Patrick Prémartin / developpeur-pascal.fr
FMX LOW CODE
Le développeur n’a plus qu’à changer le style du
projet en appliquant un style FireMonkey.
Il faut également remplacer les informations
présentes dans les écrans par les siennes et si on
utilise une base de données faire les ajustements
correspondants.
© Patrick Prémartin / developpeur-pascal.fr
FMX LOW CODE
Par contre on est loin du « no code » dès qu’on
s’intéresse aux fichiers générés.
Pas certain que quelqu’un désireux d’utiliser des
assistants pour créer ses écrans soit autonome
une fois le travail fait mais ça peut aider à
comprendre comment développer des
applications et gérer leurs contraintes.
© Patrick Prémartin / developpeur-pascal.fr
FMX LOW CODE
Des infos sur l’assistant « FireMonkey Low Code
App Wizard » et la rediffusion de son webinaire
de présentation sont disponibles sur la page
https://blogs.embarcadero.com/fr/low-code-app-
wizard-for-delphi/
© Patrick Prémartin / developpeur-pascal.fr
FMX LOW CODE
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
L’approche « no code » est destinée à des non
développeurs ou des développeurs qui veulent se
« simplifier » la vie.
Si on n’a pas besoin de maîtriser un logiciel de
bout en bout sur la durée, elle peut être
envisagée avec des outils disponibles en ligne.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Si on veut conserver la main sur ce qu’on fait et
faire évoluer un projet en abandonnant le « no
code » il est impératif d’utiliser dès le départ un
environnement de développement permettant de
tout faire.
C’est le cas de Delphi et de C++Builder.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
En « no code » on utilise un système permettant
de décrire le programme que l’on désire obtenir
en assemblant des éléments d’interface, d’actions
ou liés à des micro services.
En Delphi on retrouve tout ça dans la VCL comme
avec FireMonkey avec les fiches, les cadres, les
composants visuels et non visuels.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour l’affichage d’informations à l’écran, nous
avons tous les types de composants possibles et
un tas de solutions pour les mixer.
LiveBindings peut servir à synchroniser des
champs de saisie et d’affichage dans le même
écran.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour afficher et modifier des données provenant
de bases de données locales ou distantes nous
avons des composants d’accès aux données, des
composants visuels liés à une source de données
ou LiveBindings.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour traiter des données provenant d’Internet
(open data, micro services, API) nous avons les
composants REST et le Débogueur REST pour les
paramétrer. Le tout nous permet d’envoyer des
requêtes et interpréter le résultat soit
directement, soit sous forme d’ensemble de
données.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour gérer les actions sur les boutons et les
menus nous avons les listes d’actions avec tout un
tas d’actions standard permettant d’afficher des
boites de dialogue du système, manipuler des
onglets, utiliser des API des systèmes
d’exploitation.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Ne nous leurrons pas : nous ne pouvons pas tout
gérer en « no code » avec les éléments fournis
par Embarcadero par défaut.
Quoique…
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Rien ne nous empêche de faire une application
de gestion de base de données multi tables sans
coder quoi que ce soit.
Du CRUD est tout à fait faisable sans code depuis
la première version de Delphi en 1995 !
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour cela il suffit d’une fiche et d’un classeur à
onglets.
On utilise les onglets comme pages. On y case les
éléments en affichage ou saisie selon les besoins.
Ces pages peuvent aussi être gérées dans des
cadres séparés pour simplifier la maintenance.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Autre gros avantage de Delphi et C++Builder : la
possibilité d’étendre les possibilités des librairies
fournies et de l’environnement.
Il suffit d’un codeur dans l’équipe pour que des
non codeurs puissent ensuite créer les logiciels.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Parmi les choses qui manquent il y aurait :
- des contrôles de validité sur des champs de
saisie
- la recherche automatique dans un ensemble
de données à partir d’un champ de saisie
- la manipulation des fenêtres, de cadres ou de
layouts
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Parmi les choses qui manquent il y aurait :
- l’automatisation des connexions selon le
contexte ou la configuration de compilation
- la création/maintenance de la structure d’une
base de données
- la gestion des permissions Android sur les
actions d’API standards
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Parmi les choses qui manquent il y aurait :
- l’affichage de boites de dialogue non standard
- et bien entendu le chaînage des actions
Cette liste étant loin d’être exhaustive.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour ça il y a plusieurs choses à faire.
1 – Créer de nouvelles actions standard pour les
choses à exécuter depuis un bouton ou un menu.
C’est typiquement le cas pour les manipulations
de fenêtres.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour ça il y a plusieurs choses à faire.
2 – Etendre les fonctionnalités des composants
de bases de données habituels (notamment la
connexion) pour les différents frameworks fournis
: ADO, dbExpress, FireMonkey et des tiers comme
UniDAC.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Pour ça il y a plusieurs choses à faire.
3 – Etendre certains composants visuels et non
visuels afin d’implémenter des actions sur ceux
qui n’en ont pas et gérer LiveBindings lorsque
c’est nécessaire.
Par exemple au niveau du TTimer, de l’utilisation
du GPS ou de la caméra.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Certaines choses méritent d’être soumises à
Embarcadero pour faire évoluer Delphi.
D’autres ont plus de raisons d’être sous forme de
librairies de composants indépendantes.
D’autres encore sont à implémenter sur des
librairies tierces existantes.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
J’ai lancé plusieurs projets en ce sens.
Certains sont disponibles sur GitHub. D’autres y
arriveront dans les mois qui viennent ou seront
commercialisés à part.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Delphi No Code Library
Ce projet est un socle permettant d’étendre ce
qui existe déjà dans Delphi notamment au niveau
des listes d’actions standard.
https://github.com/DeveloppeurPascal/Delphi-
NoCode-Library
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Delphi DB Extend Library
Ce projet proposera des composants encapsulant
ce que j’utilise régulièrement sur des bases de
données.
https://github.com/DeveloppeurPascal/Delphi-
DBExtend-Library
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Si vous avez des idées de choses nécessaires dans
un mode « no code » pour Delphi et C++Builder,
je suis preneur.
Si vous désirez contribuer à ces projets open
source contactez moi.
© Patrick Prémartin / developpeur-pascal.fr
CODER EN DELPHI
Si vous maintenez des projets de composants ou
librairies envisagez une version « no code » pour
accroître leur potentiel et simplifier leur
utilisation.
Pensez à utiliser le tag « delphi-nocode » sur vos
dépôts publics compatibles.
© Patrick Prémartin / developpeur-pascal.fr
CONCL
© Patrick Prémartin / developpeur-pascal.fr
Coder, low coder ou no coder, tous les choix sont
dans la nature et une fois de plus Delphi ne nous
limite pas… mais dans tous les cas il y a toujours
quelqu’un quelque part qui doit faire du code.
CONCL
© Patrick Prémartin / developpeur-pascal.fr
Alors même si on commence à voir des IA pondre
des lignes de code (pas toujours très « clean » ni
très « secure »), nous avons encore de beaux
jours devant nous.
CONCL
© Patrick Prémartin / developpeur-pascal.fr
Ceci dit, l’approche « no code » implique de
simplifier au maximum les choses et ce n’est pas
une mauvaise idée.
Ca n’empêche pas de fournir des fonctionnalités
puissantes, de la documentation et des exemples
d’utilisation.
(RE)VOIR
© Patrick Prémartin / developpeur-pascal.fr
La rediffusion de ce webinaire sera disponible
dans quelques jours sur la chaîne YouTube de
Barnsten :
https://www.youtube.com/c/BarnstenFrance/vid
eos
et le sera dès demain dans la rubrique
« webinaires Delphi » de Serial Streameur sur
https://serialstreameur.fr/webinaire-
20210930.php
PLUS SUR
© Patrick Prémartin / developpeur-pascal.fr
Pour des ressources complémentaires et accéder
aux exemples rendez-vous sur :
https://developpeur-pascal.fr/p/___00n-coder-
sans-coder-delphi-en-mode-nocode-c-est-
possible-webinaire-le-30-septembre-a-14-
heures.html
PROCHAINS
© Patrick Prémartin / developpeur-pascal.fr
Pas d’autre présentation prévue pour le moment
à part un possible stream sur Twitch pour la
LDJAM 49 ce week-end.
Planning de directs Twitch :
https://www.twitch.tv/patrickpremartin/schedule
Planning de webinaires :
https://developpeur-pascal.fr/p/_6007-
webinaires.html
CONFERENCE
© Patrick Prémartin / developpeur-pascal.fr
La prochaine conférence liée aux technologies
Embarcadero et leur écosystème aura lieu à
Düsseldorf du 8 au 10 novembre 2021.
EKON 25
https://entwickler-konferenz.de/
CONFERENCE
© Patrick Prémartin / developpeur-pascal.fr
Embarcadero renouvelle la conférence DelphiCon
dédiée à Delphi avec des sessions en direct
interactives et des sessions à la demande.
Elle aura lieu du 14 au 19 novembre 2021.
DelphiCon 2021
https://delphicon.embarcadero.com/
DELPHI
© Patrick Prémartin / developpeur-pascal.fr
Le nouveau Programmez! arrive bientôt. Vous
pouvez toujours acheter les numéros 247 et 248
pour lire ces 2 articles de Grégory Bersegeay :
- Créer son jeu 2D avec Delphi
https://www.programmez.com/magazine/progra
mmez-247-pdf
- Labyrinthe en 3D avec Delphi
https://www.programmez.com/magazine/progra
mmez-248-pdf
LIVRES
© Patrick Prémartin / developpeur-pascal.fr
2 nouveaux livres en anglais paraitront d’ici la fin
du mois.
Ils seront annoncés sur Delphi Books le jour de
leur sortie et bien sûr aussi sur Twitter, LinkedIn
et Facebook.
https://delphi-books.com
QUESTIONS
© Patrick Prémartin / developpeur-pascal.fr
CONTACTEZ NOUS

Contenu connexe

Similaire à Coder sans coder : Delphi en mode no code !

Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLpprem
 
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 multiplateformepprem
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMXpprem
 
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 composantpprem
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distancepprem
 
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'imagespprem
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxThomasParaiso1
 
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 Delphipprem
 
Module Encodage Easytouse Light
Module Encodage Easytouse LightModule Encodage Easytouse Light
Module Encodage Easytouse Lightfchaabane
 
Video Encoding Solution
Video Encoding SolutionVideo Encoding Solution
Video Encoding Solutionsthiebe
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
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 mobilespprem
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Romain Chalumeau
 
Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...
Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...
Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...CERTyou Formation
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 

Similaire à Coder sans coder : Delphi en mode no code ! (20)

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
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 
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
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour 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
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
 
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
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
 
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
 
Module Encodage Easytouse Light
Module Encodage Easytouse LightModule Encodage Easytouse Light
Module Encodage Easytouse Light
 
Video Encoding Solution
Video Encoding SolutionVideo Encoding Solution
Video Encoding Solution
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
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
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...
Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...
Rn111 g formation-ibm-rational-developer-for-system-z-v9-developper-des-appli...
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 

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 enginepprem
 
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 environmentpprem
 
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 FireMonkeypprem
 
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
 
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 Androidpprem
 
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 VCLpprem
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeypprem
 
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éespprem
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de fraispprem
 
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
 
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èspprem
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internetpprem
 
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
 
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 ?
 
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
 
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
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
 
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...
 
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
 

Coder sans coder : Delphi en mode no code !

  • 1. Coder sans coder : Delphi “no code”! Webinaire du 30 septembre 2021
  • 2. PRÉSENTATEUR MVP Embarcadero Prestataire informatique freelance et formateur Delphi Editeur de Zone-Abo et de nombreux sites accessibles gratuitement, sur abonnement mensuel ou annuel. https://zone-abo.fr CV et contacts : https://www.linkedin.com/in/patrickpremartin/
  • 3. Outils Embarcadero Les meilleurs outils de développement multi- plateformes. Créez une fois et déployez des applications modernes sur chaque plateforme. Support Technique Nos techniciens sont à votre service à tout moment pour répondre à vos questions et vous fournir des informations sûres. Distributeur Officiel Partenaire exclusif de Embarcadero Technologies, largement reconnu pour ses produits de programmation primés. B A R N S T E N QUI Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
  • 4. FORMATION Olf Software est centre de formation référencé sur Datadock. Des formations personnalisées ou « clé en main » à Delphi et d’autres technologies sont dispensées à distance (sur Zoom). https://se-former-a-delphi.fr R E S S O U R C E S D E L P H I
  • 5. AUTO Une formation d’initiation à la programmation, Delphi, VCL et FireMonkey de presque 60 heures disponible gratuitement. Des cours plus spécifiques dédiés à Delphi et son écosystème réservés aux abonnés Zone-Abo. https://apprendre-delphi.fr R E S S O U R C E S D E L P H I
  • 6. DEVELOPPEUR Blog sur Delphi et le Pascal. De l’actualité, des articles techniques, des annonces de conférences, présentations et formations de groupe. https://developpeur-pascal.fr R E S S O U R C E S D E L P H I
  • 7. SERIAL Rediffusion gratuite de webinaires et conférences liées à Delphi ou d’autres technologies de développement. Des vidéos de codage en direct et des ressources réservées aux abonnés Zone-Abo. https://serialstreameur.fr R E S S O U R C E S D E L P H I
  • 8. DELPHI Un catalogue de livres techniques en lien avec la programmation Pascal ou dédiés à Delphi. Une API donnant accès aux livres publiés depuis 1980 et servant aussi de bac à sable pour s’exercer avec REST. https://delphi-books.com R E S S O U R C E S D E L P H I
  • 9. AU • Introduction • Code, Low Code, No Code ? • FireMonkey Low Code App Wizard • Coder en Delphi sans coder • Conclusion © Patrick Prémartin / developpeur-pascal.fr
  • 10. INTROD Le « no code » est omniprésent dans la presse, dans la tête des commerciaux et des managers non informaticiens qui se disent que tout est faisable par tout le monde sans connaissances en programmation. Est-ce vrai ? © Patrick Prémartin / developpeur-pascal.fr
  • 11. INTROD Il existe pléthore de sites et logiciels permettant de faire du no code en se servant de modules préconçus qu’on assemble entre eux. Des composants comme on les connaît sur Delphi depuis sa sortie en 1995 mais basés généralement sur des micro services en ligne. © Patrick Prémartin / developpeur-pascal.fr
  • 12. INTROD On « simplifie » la conception de logiciels, d’applications mobiles et de sites Internet en perdant sans s’en rendre compte la propriété de ce que l’on fait et en s’en remettant totalement à des tiers, parfois plus nombreux qu’on ne le pense avec les dépendances des éléments utilisés. © Patrick Prémartin / developpeur-pascal.fr
  • 13. INTROD Depuis toujours Delphi et C++Builder ont une approche RAD (Rapid Application Development) mais nous restons maître de ce que nous faisons et pouvons toujours intervenir sur ce que nous n’avons pas fait en ayant les sources des librairies fournies. © Patrick Prémartin / developpeur-pascal.fr
  • 14. INTROD Voyons jusqu’où nous pouvons pousser la démarche « RAD » et si nous avons vraiment besoin de coder… © Patrick Prémartin / developpeur-pascal.fr
  • 15. CODE, Pour commencer, quelques définitions : - Code : programmer en alignant du code source, - Low Code : utiliser des générateurs de code ou des assemblages d’éléments permettant de limiter la programmation, - No Code : utiliser uniquement des éléments préfabriqués, sans faire une ligne de code. © Patrick Prémartin / developpeur-pascal.fr
  • 16. CODE, Delphi et C++Builder ont une approche RAD. Nous utilisons des concepteurs et générateurs de code embarqués dans des assistants de l’IDE ou des concepteurs visuels. © Patrick Prémartin / developpeur-pascal.fr
  • 17. CODE, L’IDE de RAD Studio permet de tout faire. Il nous laisse libre de choisir la méthode la plus adaptée pour concevoir nos logiciels. © Patrick Prémartin / developpeur-pascal.fr
  • 18. CODE, Je ne vous ferai pas de démonstration de codage, vous savez déjà de quoi il s’agit et si ce n’est pas le cas jetez un œil à ces centaines d’heures de développement en direct : https://serialstreameur.fr/live-coding.php © Patrick Prémartin / developpeur-pascal.fr
  • 19. FMX LOW CODE L’assistant « FireMonkey Low Code App Wizard » est proposé par Embarcadero sur GetIt depuis la version 10.4.2 de Delphi. Une fois téléchargé il permet de générer une application mobile avec un choix d’écrans prédéfinis. © Patrick Prémartin / developpeur-pascal.fr
  • 20. FMX LOW CODE Un projet de tests unitaires et le projet de l’application mobile sont générés. Les écrans sont pré remplis. Les enchainements d’écrans sont gérés. © Patrick Prémartin / developpeur-pascal.fr
  • 21. FMX LOW CODE Le développeur n’a plus qu’à changer le style du projet en appliquant un style FireMonkey. Il faut également remplacer les informations présentes dans les écrans par les siennes et si on utilise une base de données faire les ajustements correspondants. © Patrick Prémartin / developpeur-pascal.fr
  • 22. FMX LOW CODE Par contre on est loin du « no code » dès qu’on s’intéresse aux fichiers générés. Pas certain que quelqu’un désireux d’utiliser des assistants pour créer ses écrans soit autonome une fois le travail fait mais ça peut aider à comprendre comment développer des applications et gérer leurs contraintes. © Patrick Prémartin / developpeur-pascal.fr
  • 23. FMX LOW CODE Des infos sur l’assistant « FireMonkey Low Code App Wizard » et la rediffusion de son webinaire de présentation sont disponibles sur la page https://blogs.embarcadero.com/fr/low-code-app- wizard-for-delphi/ © Patrick Prémartin / developpeur-pascal.fr
  • 24. FMX LOW CODE © Patrick Prémartin / developpeur-pascal.fr
  • 25. CODER EN DELPHI L’approche « no code » est destinée à des non développeurs ou des développeurs qui veulent se « simplifier » la vie. Si on n’a pas besoin de maîtriser un logiciel de bout en bout sur la durée, elle peut être envisagée avec des outils disponibles en ligne. © Patrick Prémartin / developpeur-pascal.fr
  • 26. CODER EN DELPHI Si on veut conserver la main sur ce qu’on fait et faire évoluer un projet en abandonnant le « no code » il est impératif d’utiliser dès le départ un environnement de développement permettant de tout faire. C’est le cas de Delphi et de C++Builder. © Patrick Prémartin / developpeur-pascal.fr
  • 27. CODER EN DELPHI En « no code » on utilise un système permettant de décrire le programme que l’on désire obtenir en assemblant des éléments d’interface, d’actions ou liés à des micro services. En Delphi on retrouve tout ça dans la VCL comme avec FireMonkey avec les fiches, les cadres, les composants visuels et non visuels. © Patrick Prémartin / developpeur-pascal.fr
  • 28. CODER EN DELPHI Pour l’affichage d’informations à l’écran, nous avons tous les types de composants possibles et un tas de solutions pour les mixer. LiveBindings peut servir à synchroniser des champs de saisie et d’affichage dans le même écran. © Patrick Prémartin / developpeur-pascal.fr
  • 29. CODER EN DELPHI Pour afficher et modifier des données provenant de bases de données locales ou distantes nous avons des composants d’accès aux données, des composants visuels liés à une source de données ou LiveBindings. © Patrick Prémartin / developpeur-pascal.fr
  • 30. CODER EN DELPHI Pour traiter des données provenant d’Internet (open data, micro services, API) nous avons les composants REST et le Débogueur REST pour les paramétrer. Le tout nous permet d’envoyer des requêtes et interpréter le résultat soit directement, soit sous forme d’ensemble de données. © Patrick Prémartin / developpeur-pascal.fr
  • 31. CODER EN DELPHI Pour gérer les actions sur les boutons et les menus nous avons les listes d’actions avec tout un tas d’actions standard permettant d’afficher des boites de dialogue du système, manipuler des onglets, utiliser des API des systèmes d’exploitation. © Patrick Prémartin / developpeur-pascal.fr
  • 32. CODER EN DELPHI Ne nous leurrons pas : nous ne pouvons pas tout gérer en « no code » avec les éléments fournis par Embarcadero par défaut. Quoique… © Patrick Prémartin / developpeur-pascal.fr
  • 33. CODER EN DELPHI Rien ne nous empêche de faire une application de gestion de base de données multi tables sans coder quoi que ce soit. Du CRUD est tout à fait faisable sans code depuis la première version de Delphi en 1995 ! © Patrick Prémartin / developpeur-pascal.fr
  • 34. CODER EN DELPHI Pour cela il suffit d’une fiche et d’un classeur à onglets. On utilise les onglets comme pages. On y case les éléments en affichage ou saisie selon les besoins. Ces pages peuvent aussi être gérées dans des cadres séparés pour simplifier la maintenance. © Patrick Prémartin / developpeur-pascal.fr
  • 35. CODER EN DELPHI © Patrick Prémartin / developpeur-pascal.fr
  • 36. CODER EN DELPHI Autre gros avantage de Delphi et C++Builder : la possibilité d’étendre les possibilités des librairies fournies et de l’environnement. Il suffit d’un codeur dans l’équipe pour que des non codeurs puissent ensuite créer les logiciels. © Patrick Prémartin / developpeur-pascal.fr
  • 37. CODER EN DELPHI Parmi les choses qui manquent il y aurait : - des contrôles de validité sur des champs de saisie - la recherche automatique dans un ensemble de données à partir d’un champ de saisie - la manipulation des fenêtres, de cadres ou de layouts © Patrick Prémartin / developpeur-pascal.fr
  • 38. CODER EN DELPHI Parmi les choses qui manquent il y aurait : - l’automatisation des connexions selon le contexte ou la configuration de compilation - la création/maintenance de la structure d’une base de données - la gestion des permissions Android sur les actions d’API standards © Patrick Prémartin / developpeur-pascal.fr
  • 39. CODER EN DELPHI Parmi les choses qui manquent il y aurait : - l’affichage de boites de dialogue non standard - et bien entendu le chaînage des actions Cette liste étant loin d’être exhaustive. © Patrick Prémartin / developpeur-pascal.fr
  • 40. CODER EN DELPHI Pour ça il y a plusieurs choses à faire. 1 – Créer de nouvelles actions standard pour les choses à exécuter depuis un bouton ou un menu. C’est typiquement le cas pour les manipulations de fenêtres. © Patrick Prémartin / developpeur-pascal.fr
  • 41. CODER EN DELPHI Pour ça il y a plusieurs choses à faire. 2 – Etendre les fonctionnalités des composants de bases de données habituels (notamment la connexion) pour les différents frameworks fournis : ADO, dbExpress, FireMonkey et des tiers comme UniDAC. © Patrick Prémartin / developpeur-pascal.fr
  • 42. CODER EN DELPHI Pour ça il y a plusieurs choses à faire. 3 – Etendre certains composants visuels et non visuels afin d’implémenter des actions sur ceux qui n’en ont pas et gérer LiveBindings lorsque c’est nécessaire. Par exemple au niveau du TTimer, de l’utilisation du GPS ou de la caméra. © Patrick Prémartin / developpeur-pascal.fr
  • 43. CODER EN DELPHI Certaines choses méritent d’être soumises à Embarcadero pour faire évoluer Delphi. D’autres ont plus de raisons d’être sous forme de librairies de composants indépendantes. D’autres encore sont à implémenter sur des librairies tierces existantes. © Patrick Prémartin / developpeur-pascal.fr
  • 44. CODER EN DELPHI J’ai lancé plusieurs projets en ce sens. Certains sont disponibles sur GitHub. D’autres y arriveront dans les mois qui viennent ou seront commercialisés à part. © Patrick Prémartin / developpeur-pascal.fr
  • 45. CODER EN DELPHI Delphi No Code Library Ce projet est un socle permettant d’étendre ce qui existe déjà dans Delphi notamment au niveau des listes d’actions standard. https://github.com/DeveloppeurPascal/Delphi- NoCode-Library © Patrick Prémartin / developpeur-pascal.fr
  • 46. CODER EN DELPHI Delphi DB Extend Library Ce projet proposera des composants encapsulant ce que j’utilise régulièrement sur des bases de données. https://github.com/DeveloppeurPascal/Delphi- DBExtend-Library © Patrick Prémartin / developpeur-pascal.fr
  • 47. CODER EN DELPHI © Patrick Prémartin / developpeur-pascal.fr
  • 48. CODER EN DELPHI Si vous avez des idées de choses nécessaires dans un mode « no code » pour Delphi et C++Builder, je suis preneur. Si vous désirez contribuer à ces projets open source contactez moi. © Patrick Prémartin / developpeur-pascal.fr
  • 49. CODER EN DELPHI Si vous maintenez des projets de composants ou librairies envisagez une version « no code » pour accroître leur potentiel et simplifier leur utilisation. Pensez à utiliser le tag « delphi-nocode » sur vos dépôts publics compatibles. © Patrick Prémartin / developpeur-pascal.fr
  • 50. CONCL © Patrick Prémartin / developpeur-pascal.fr Coder, low coder ou no coder, tous les choix sont dans la nature et une fois de plus Delphi ne nous limite pas… mais dans tous les cas il y a toujours quelqu’un quelque part qui doit faire du code.
  • 51. CONCL © Patrick Prémartin / developpeur-pascal.fr Alors même si on commence à voir des IA pondre des lignes de code (pas toujours très « clean » ni très « secure »), nous avons encore de beaux jours devant nous.
  • 52. CONCL © Patrick Prémartin / developpeur-pascal.fr Ceci dit, l’approche « no code » implique de simplifier au maximum les choses et ce n’est pas une mauvaise idée. Ca n’empêche pas de fournir des fonctionnalités puissantes, de la documentation et des exemples d’utilisation.
  • 53. (RE)VOIR © Patrick Prémartin / developpeur-pascal.fr La rediffusion de ce webinaire sera disponible dans quelques jours sur la chaîne YouTube de Barnsten : https://www.youtube.com/c/BarnstenFrance/vid eos et le sera dès demain dans la rubrique « webinaires Delphi » de Serial Streameur sur https://serialstreameur.fr/webinaire- 20210930.php
  • 54. PLUS SUR © Patrick Prémartin / developpeur-pascal.fr Pour des ressources complémentaires et accéder aux exemples rendez-vous sur : https://developpeur-pascal.fr/p/___00n-coder- sans-coder-delphi-en-mode-nocode-c-est- possible-webinaire-le-30-septembre-a-14- heures.html
  • 55. PROCHAINS © Patrick Prémartin / developpeur-pascal.fr Pas d’autre présentation prévue pour le moment à part un possible stream sur Twitch pour la LDJAM 49 ce week-end. Planning de directs Twitch : https://www.twitch.tv/patrickpremartin/schedule Planning de webinaires : https://developpeur-pascal.fr/p/_6007- webinaires.html
  • 56. CONFERENCE © Patrick Prémartin / developpeur-pascal.fr La prochaine conférence liée aux technologies Embarcadero et leur écosystème aura lieu à Düsseldorf du 8 au 10 novembre 2021. EKON 25 https://entwickler-konferenz.de/
  • 57. CONFERENCE © Patrick Prémartin / developpeur-pascal.fr Embarcadero renouvelle la conférence DelphiCon dédiée à Delphi avec des sessions en direct interactives et des sessions à la demande. Elle aura lieu du 14 au 19 novembre 2021. DelphiCon 2021 https://delphicon.embarcadero.com/
  • 58. DELPHI © Patrick Prémartin / developpeur-pascal.fr Le nouveau Programmez! arrive bientôt. Vous pouvez toujours acheter les numéros 247 et 248 pour lire ces 2 articles de Grégory Bersegeay : - Créer son jeu 2D avec Delphi https://www.programmez.com/magazine/progra mmez-247-pdf - Labyrinthe en 3D avec Delphi https://www.programmez.com/magazine/progra mmez-248-pdf
  • 59. LIVRES © Patrick Prémartin / developpeur-pascal.fr 2 nouveaux livres en anglais paraitront d’ici la fin du mois. Ils seront annoncés sur Delphi Books le jour de leur sortie et bien sûr aussi sur Twitter, LinkedIn et Facebook. https://delphi-books.com
  • 60. QUESTIONS © Patrick Prémartin / developpeur-pascal.fr