Nouvelles

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

pythononandroidwithdelphifmxthecrossplatformguiframework2

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


Coding Boot Camp

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

Défenseur des développeurs en chef pour Embarcadero Technologies.

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