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

Python auf Android mit Delphi FMX – Das plattformübergreifende GUI-Framework

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

Erfahren Sie, wie die neu veröffentlichten kostenlosen Python-Module von Embarcadero die Leistung und Flexibilität der GUI-Frameworks von Delphi in Python bringen. VCL und FireMonkey (FMX) sind ausgereifte GUI-Bibliotheken. VCL konzentriert sich auf die native Windows-Entwicklung, während FireMonkey ein leistungsstarkes, flexibles GUI-Framework für Windows, Linux, macOS und sogar Android bereitstellt. Dieses Webinar stellt Ihnen diese neuen kostenlosen Python-Module vor und wie Sie sie verwenden können, um grafische Benutzeroberflächen mit Python zu erstellen. Teil 2 zeigt Ihnen, wie Sie mit Python auf Android-GUI-Anwendungen abzielen!

 

Wer bist du?

● Python-Entwickler, die eine schöne GUI wollen
● Python-Entwickler, die neugierig auf Delphi
sind ● Delphi-Entwickler, die Python verwenden möchten
● Delphi-Entwickler, die neugierig auf Neuigkeiten sind
● Andere Entwickler, die neugierig auf Delphi & Python sind

Es ist kein Wettbewerb

● Entwickler haben mehrere Tools auf ihrer Workbench
● Es geht darum, das richtige Tool für jede Aufgabe zu finden
● Spezialisierte Tools für verschiedene Aufgaben zu haben, lenkt nicht von bevorzugten Tools ab
● Sie können immer eine bestimmte Aufgabe finden, für die ein anderes Tool besser geeignet ist, aber nein Ein Werkzeug ist das Beste für alle Aufgaben.

Was ist Delphi für Python?

  • Satz kostenloser Python-Module, die Python-Entwicklern die GUI-Bibliotheken von Delphi zur Verfügung stellen
    • Ausgereift, funktionsreich, nativ und plattformübergreifend
    • Für die Verwendung von Delphi ist kein Delphi erforderlich
  • Basierend auf dem Open-Source-Python4Delphi (dieselbe Technologie, die die PyScripter-IDE antreibt)
  • Heute auf GitHub & PyPi verfügbar
    • Derzeit in der Beta-Phase, aber einsatzbereit
  • DelphiVCL für Python unterstützt Windows (32-Bit & 64-Bit)
  • DelphiFMX für Python fügt Linux, Android und Mac OS hinzu
  • Teil einer bidirektionalen Brücke zwischen Delphi und Python

Sezieren der Technologie-Stacks

py1 6685678 2

FMX Die plattformübergreifende (FireMonkey Framework)

  • Nutzt GPU-Bibliotheken, um eine hardwarebeschleunigte, reichhaltige Benutzeroberfläche bereitzustellen, die schnell ist und auf mehreren Plattformen gut aussieht:
    • Windows, macOS, iOS, Android und Linux
    • Verwendet DirectX unter Windows, OpenGL unter Linux, OpenGL-ES unter Android und Metal unter iOS und macOS
  • Ähnlich wie VCL, aber nicht auf Kompatibilität ausgelegt
    • Von Grund auf als Cross-Plattform konzipiert
  • Integrierte GPU-Effekte, Animationen und ein robustes Styling-System
  • Plattformdienste abstrahieren den Zugriff auf Plattformhardware und -funktionalität, um UI & UX intelligent an Plattformspezifika anzupassen
  • Sehr flexibles Komponentensystem – mit weniger Komponenten mehr erreichen

Delphi für Python

py2 1983293 2

Installation von Delphi FMX für Python

  • Per Pip installieren
    • pip install delphifmx
  • Unterstützt:
    • Architekturen Win32 x86, Win64 x86, Linux64 x86, Android64, Mac OS x64 (Intel) und Mac M1 (Arm).
    • Python cp3.6, cp3.7, cp3.8, cp3.9 und cp3.10 (außer cp3.6 unter Linux und macOS)
  • Conda-Unterstützung:
    • Gewinnen Sie x86 und x64 von Python cp3.6 bis cp3.10
    • Linux x86_64 von Python cp3.7 bis cp3.9 (empfohlen!)
    • macOS wird noch nicht unterstützt
  • Einzelheiten und Downloads

Hallo Welt (Das einfachste Beispiel)

py3 6241807 2

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

Hallo Welt (ein objektorientiertes Beispiel)

py4 6954926 2

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

ToDo App (Langsam nützlich zu werden….)

py5 2447257 2

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

Mit Stil (und mehr Steuerelementen)

py6 5122681 2

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

Entwerfen Sie Ihre Benutzeroberfläche (in der Delphi-IDE)

● Profitieren Sie von den Designern und Eigenschaftseditoren der Delphi-IDE. ●
WYSIWYG-Vorschau mit Stilen .
● Exportieren Sie das Formular zur Verwendung in Python und schreiben Sie dann Python-Code
. ● Klicken Sie einfach mit der rechten Maustaste und exportieren Sie es mit dem IDE-Add-In
Object Pascal
● github.com/Embarcadero/DelphiFMX4Python/tree/main/experts
● Verwendet derzeit eine binäre .pydfm-Datei, aber die Textversion kommt

Aus Delphis FMX-Designern nach Python exportiert (mit Stilen)

py7 3855907 2

Aus den FMX-Designern von Delphi nach Python exportiert (mit Stilen und Animationen)

py8 8718252 2

Python auf Android bereitstellen… Ja, Python auf Android! (Die Architektur)

Grundlagen

  • Delphi FMX unterstützt Android ARM64 als Ziel
  • Die Python4Delphi-Bibliothek unterstützt Android
  • Ermöglicht das Erstellen einer Delphi-App zum Ausführen von Python auf Android

Lösung

  • Eine vorgefertigte Delphi-Anwendung mit aktiviertem Python
  • Vom Benutzer modifizierbare Python-Skript-Payload, die automatisch ausgeführt wird
  • Automatisiertes Tool zum Ändern des Android-Manifests und zum Erstellen der endgültigen APK
    • Oder ändern Sie das geänderte APK manuell

Machen

  • Live-Vorschau vor der Bereitstellung auf Android
  • Bündelung mehrerer Python-Skripte und -Module
  • Anpassen von Symbolen, Begrüßungsbildschirmen, Laden usw.
  • Weitere Tests, Debugging und Ihre Vorschläge….

Ausführen von Python auf Android

● Delphi wird nativ für Android kompiliert
● Die Python-Laufzeitumgebung ist in die App eingebettet
● Python wird zur Laufzeit dynamisch interpretiert und ausgeführt
● Delphi FMX für Python ist vollständig verfügbar
● Unterstützt zusätzliche Python-Module
● Vollständig lokal – kein Netzwerkzugriff erforderlich

py9 3509304 2

https://github.com/Embarcadero/PythonFMXBuilder

Kombinieren Sie Delphi und Python

  • Die Python4Delphi-Bibliothek ist eine bidirektionale Bridge
  • Entwickeln Sie Teile Ihrer Lösung in Delphi und Teile in Python
    • Spielen Sie die Stärken von jedem aus
  • Führen Sie sie zu einer einzigen zusammenhängenden Lösung zusammen
  • Finden Sie Beispiele, Tutorials und Videos

Verwenden Sie Delphi, um native Python-Module zu erstellen

● Viele Python-Module sind in C/C++ geschrieben und nativ kompiliert.
● Delphi erstellt auch nativ kompilierte Python-Module über Python4Delphi.
● Erstellen Sie schnell Prototypen in Python und erstellen Sie dann optimierte Module in Delphi, um Engpässe zu beseitigen.
● Ähnlich wie Python konzentriert sich Delphi-Code auf Lesbarkeit und klare Struktur und kann für Sie einfacher sein als die Verwendung von C/C++
● Erweitern Sie Ihre Verwendung von PyPy oder Cython

Dokumentation und Bibliotheksreferenzen

Über PyScripter

● Beliebte Open-Source-Python-IDE, gesponsert von Embarcadero
● Alle Funktionen, die in einer modernen Python-IDE erwartet werden, dabei leicht und sehr schnell
● Nativ für Windows kompiliert, um minimalen Speicher bei maximaler Leistung zu verwenden
● Vollständiges Python-Debugging mit Remote-Debugging
● Integration mit Python-Tools wie PyLint, TabNanny, Profile usw.
● Ausführen oder Debuggen von Dateien aus dem Speicher.
● embarcadero.com/free-tools/pyscripter/free-download

Über UltraEdit

  • Hochleistungs-Texteditor für Programmierer.
  • Branchenweit beste Verarbeitung großer Dateien: 10+ GB und mehr.
  • Syntaxhervorhebung für nahezu jede Sprache oder jedes Datenformat.
  • Intelligente Vorlagen.
  • Hex-Bearbeitung. Bearbeitung im Spalten-/Blockmodus.
  • Teil der Idera-Familie von Entwicklertools.
  • ultraedit.com/products/ultraedit

Nächste Schritte


Enter the Enterprise Software Development Article Challenge
Enterprise Software Development Article Challenge

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

Über den Autor

Chief Developer Advocate für Embarcadero Technologies.

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES