Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Nouvelles

Python sur Android avec Delphi FMX – Le framework d’interface graphique multiplateforme

python on android with delphi fmx the cross platform gui framework 2

Découvrez comment les nouveaux modules Python gratuits d’Embarcadero apportent la puissance et la flexibilité des frameworks GUI de Delphi à Python. VCL et FireMonkey (FMX) sont des bibliothèques GUI matures. VCL se concentre sur le développement Windows natif, tandis que FireMonkey apporte un puissant cadre d’interface graphique flexible à Windows, Linux, macOS et même Android. Ce webinaire vous présentera ces nouveaux modules Python gratuits et comment vous pouvez les utiliser pour créer des interfaces utilisateur graphiques avec Python. La partie 2 vous montrera comment cibler les applications d’interface graphique Android avec Python !

 

Qui êtes vous?

● Les développeurs Python qui veulent une belle interface graphique
● Les développeurs Python curieux de Delphi
● Les développeurs Delphi qui veulent utiliser Python
● Les développeurs Delphi curieux des nouveautés
● Les autres développeurs curieux de Delphi et Python

Ce n’est pas une compétition

● Les développeurs ont plusieurs outils sur leur banc de travail
● Il s’agit de trouver le bon outil pour chaque tâche
● Avoir des outils spécialisés pour différentes tâches n’enlève rien aux outils préférés
● Vous pouvez toujours trouver une tâche spécifique pour laquelle un autre outil est meilleur, mais non un outil est celui qui convient le mieux à toutes les tâches.

Qu’est-ce que Delphi pour Python ?

  • Ensemble de modules Python gratuits apportant les bibliothèques GUI de Delphi aux développeurs Python
    • Mature, riche en fonctionnalités, natif et multiplateforme
    • Ne nécessite pas l’utilisation de Delphi
  • Basé sur l’open source Python4Delphi (la même technologie qui alimente l’IDE PyScripter)
  • Disponible aujourd’hui sur GitHub & PyPi
    • Actuellement en version bêta, mais prêt à l’emploi
  • DelphiVCL pour Python prend en charge Windows (32 bits et 64 bits)
  • DelphiFMX pour Python ajoute Linux, Android et Mac OS
  • Partie d’un pont bidirectionnel entre Delphi et Python

Disséquer les piles technologiques

py1 6685678 2

FMX Le multiplateforme (Framework FireMonkey)

  • Tire parti des bibliothèques GPU pour fournir une interface utilisateur riche, accélérée par le matériel, rapide et esthétique sur plusieurs plates-formes :
    • Windows, macOS, iOS, Android et Linux
    • Utilise DirectX sur Windows, OpenGL sur Linux, OpenGL-ES sur Android et Metal sur iOS et macOS
  • Similaire à VCL, mais non conçu pour être compatible
    • Conçu comme une plate-forme croisée à partir de zéro
  • Effets GPU intégrés, animations et système de style robuste
  • Les services de plate-forme résument l’accès au matériel et aux fonctionnalités de la plate-forme pour adapter intelligemment l’interface utilisateur et l’expérience utilisateur aux spécificités de la plate-forme
  • Système de composants très flexible – faire plus avec moins de composants

Delphi pour Python

py2 1983293 2

Installation de Delphi FMX pour Python

  • Installer via pip
    • pip install delphifmx
  • Les soutiens:
    • Architectures Win32 x86, Win64 x86, Linux64 x86, Android64, Mac OS x64 (Intel) et Mac M1 (Arm)
    • Python cp3.6, cp3.7, cp3.8, cp3.9 et cp3.10 (sauf cp3.6 sous Linux et macOS)
  • Prise en charge de Conda :
    • Win x86 et x64 de Python cp3.6 à cp3.10
    • Linux x86_64 de Python cp3.7 à cp3.9 (recommandé !)
    • macOS n’est pas encore pris en charge
  • Détails et téléchargements

Hello World (l’exemple le plus simple)

py3 6241807 2

https://github.com/Embarcadero/DelphiFMX4Python/blob/main/samples/Simplest.py

Hello World (un exemple orienté objet)

py4 6954926 2

https://github.com/Embarcadero/DelphiFMX4Python/blob/main/samples/HelloDelphiFMX.py

ToDo App (Commence à devenir utile….)

py5 2447257 2

https://github.com/Embarcadero/DelphiFMX4Python/blob/main/samples/ToDoList.py

Avec style (et plus de contrôles)

py6 5122681 2

https://github.com/Embarcadero/DelphiFMX4Python/tree/main/samples/ControlsDesktop

Concevez votre interface utilisateur (dans l’IDE Delphi)

● Tirez pleinement parti des concepteurs et des éditeurs de propriétés de Delphi
● Aperçu WYSIWYG avec styles
● Exportez le formulaire pour l’utiliser en Python, puis écrivez du code Python
● Cliquez simplement avec le bouton droit de la souris et exportez avec le complément IDE
● Fonctionne avec n’importe quelle édition Delphi ne nécessite aucune Object Pascal
● github.com/Embarcadero/DelphiFMX4Python/tree/main/experts
● Utilise actuellement un fichier binaire .pydfm, mais la version texte est à venir

Exporté des concepteurs FMX de Delphi vers Python (avec styles)

py7 3855907 2

Exporté des concepteurs FMX de Delphi vers Python (avec styles et animations)

py8 8718252 2

Déployer Python sur Android… Oui, Python sur Android ! (L’architecture)

Fondamentaux

  • Delphi FMX prend en charge Android ARM64 comme cible
  • La bibliothèque Python4Delphi prend en charge Android
  • Permet de créer une application Delphi pour exécuter Python sur Android

Solution

  • Une application Delphi pré-construite avec Python activé
  • Charge utile de script Python modifiable par l’utilisateur qui s’exécute automatiquement
  • Outil automatisé pour modifier le manifeste Android et créer l’APK final
    • Ou démissionner manuellement de l’APK modifié

À faire

  • Aperçu en direct avant le déploiement sur Android
  • Regroupement de plusieurs scripts et modules Python
  • Personnalisez les icônes, les écrans de démarrage, le chargement, etc.
  • Plus de tests, de débogage et vos suggestions….

Exécuter Python sur Android

● Delphi compile nativement pour Android
● L’environnement d’exécution Python est intégré à l’application
● Python est interprété et exécuté dynamiquement lors de l’exécution
● L’ensemble de Delphi FMX pour Python est disponible
● Prend en charge des modules Python supplémentaires
● Entièrement local – aucun accès réseau nécessaire

py9 3509304 2

https://github.com/Embarcadero/PythonFMXBuilder

Combinez Delphi et Python

  • La bibliothèque Python4Delphi est un pont bidirectionnel
  • Développez des parties de votre solution en Delphi et une partie en Python
    • Jouez sur les points forts de chacun
  • Fusionnez-les en une seule solution cohérente
  • Trouvez des exemples, des tutoriels et des vidéos

Utiliser Delphi pour créer des modules Python natifs

● De nombreux modules Python sont écrits en C/C++ et compilés en natif
● Delphi crée également des modules Python compilés en natif via Python4Delphi
● Prototypez rapidement en Python, puis créez des modules optimisés en Delphi pour éliminer les goulots d’étranglement
● Tout comme Python, le code Delphi est axé sur la lisibilité et une structure claire et peut être plus facile pour vous que d’utiliser C/C++
● Augmentez votre utilisation de PyPy ou Cython

Documentation et références de bibliothèque

À propos de PyScripter

● IDE Python open source populaire sponsorisé par Embarcadero
● Toutes les fonctionnalités attendues dans un IDE Python moderne tout en étant léger et très rapide
● Compilé nativement pour Windows afin d’utiliser un minimum de mémoire avec des performances maximales
● Débogage Python complet avec débogage à distance
● Intégration avec les outils Python comme PyLint, TabNanny, Profile, etc.
● Exécuter ou déboguer des fichiers depuis la mémoire.
● embarcadero.com/free-tools/pyscripter/free-download

À propos d’UltraEdit

  • Éditeur de texte haute performance pour les programmeurs.
  • La meilleure gestion de fichiers volumineux de l’industrie : 10+ Go et au-delà.
  • Mise en évidence de la syntaxe pour presque tous les langages ou formats de données.
  • Modèles intelligents.
  • Édition hexadécimale. Édition en mode colonne/bloc.
  • Fait partie de la famille d’outils de développement Idera.
  • ultraedit.com/products/ultraedit

Prochaines étapes

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

À propos de l'auteur

Directeur de Delphi Consulting pour GDK Software USA. De nombreux brevets liés aux logiciels, notamment le déverrouillage par balayage et par motif et le moteurs de recherche. Premiers badges Delphi Argent et Or sur Stack Overflow Ancien défenseur des développeurs pour Embarcadero Technologies. Fan de longue date de programmation, notamment avec Delphi. Auteur, podcasteur/YouTuber, improvisateur, conférencier, père et ami.

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES