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

Python en Android con Delphi FMX: el marco de GUI multiplataforma

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

Conozca cómo los módulos de Python gratuitos recientemente lanzados por Embarcadero brindan el poder y la flexibilidad de los marcos de GUI de Delphi a Python. VCL y FireMonkey (FMX) son bibliotecas GUI maduras. VCL se centra en el desarrollo nativo de Windows, mientras que FireMonkey ofrece un marco de GUI flexible y potente para Windows, Linux, macOS e incluso Android. Este seminario web le presentará estos nuevos módulos gratuitos de Python y cómo puede usarlos para crear interfaces gráficas de usuario con Python. ¡La parte 2 le mostrará cómo apuntar a las aplicaciones GUI de Android con Python!

 

¿Quién es usted?

● Desarrolladores de Python que quieren una GUI agradable
● Desarrolladores de Python curiosos sobre Delphi
● Desarrolladores de Delphi que quieren usar Python
● Desarrolladores de Delphi curiosos sobre las novedades
● Otros desarrolladores curiosos sobre Delphi y Python

no es una competencia

● Los desarrolladores tienen múltiples herramientas en su banco de trabajo
● Se trata de encontrar la herramienta adecuada para cada tarea
● Tener herramientas especializadas para diferentes tareas no resta valor a las herramientas favoritas
● Siempre puede encontrar una tarea específica para la que otra herramienta es mejor, pero no una herramienta es la mejor para todas las tareas.

¿Qué es Delphi para Python?

  • Conjunto de módulos de Python gratuitos que llevan las bibliotecas GUI de Delphi a los desarrolladores de Python
    • Maduro, rico en funciones, nativo y multiplataforma
    • No requiere Delphi para usar
  • Basado en Python4Delphi de código abierto (la misma tecnología que impulsa el IDE de PyScripter)
  • Disponible hoy en GitHub y PyPi
    • Actualmente en beta, pero listo para usar
  • DelphiVCL para Python es compatible con Windows (32 bits y 64 bits)
  • DelphiFMX para Python agrega Linux, Android y Mac OS
  • Parte de un puente bidireccional entre Delphi y Python

Diseccionando las pilas de tecnología

py1 6685678 2

FMX La multiplataforma (Marco FireMonkey)

  • Aprovecha las bibliotecas de GPU para proporcionar una interfaz de usuario rica y acelerada por hardware que es rápida y se ve muy bien en múltiples plataformas:
    • Windows, macOS, iOS, Android y Linux
    • Utiliza DirectX en Windows, OpenGL en Linux, OpenGL-ES en Android y Metal en iOS y macOS
  • Similar a VCL, pero no diseñado para ser compatible
    • Diseñado como plataforma cruzada desde cero
  • Efectos de GPU integrados, animaciones y sistema de estilo robusto
  • Los servicios de la plataforma abstraen el acceso al hardware y la funcionalidad de la plataforma para adaptar de manera inteligente la UI y la UX a las especificaciones de la plataforma.
  • Sistema de componentes muy flexible: haga más con menos componentes

Delphi para Python

py2 1983293 2

Instalación de Delphi FMX para Python

  • Instalar a través de pip
    • pip install delphifmx
  • Apoya:
    • Arquitecturas Win32 x86, Win64 x86, Linux64 x86, Android64, Mac OS x64 (Intel) y Mac M1 (Arm)
    • Python cp3.6, cp3.7, cp3.8, cp3.9 y cp3.10 (excluyendo cp3.6 en Linux y macOS)
  • Soporte Conda:
    • Gana x86 y x64 desde Python cp3.6 a cp3.10
    • Linux x86_64 de Python cp3.7 a cp3.9 (¡Recomendado!)
    • macOS aún no es compatible
  • Detalles y descargas

Hello World (El ejemplo más simple)

py3 6241807 2

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

Hello World (un ejemplo orientado a objetos)

py4 6954926 2

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

Aplicación ToDo (Empieza a ser útil…)

py5 2447257 2

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

Con Estilo (Y más controles)

py6 5122681 2

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

Diseñe su interfaz de usuario (en el IDE de Delphi)

● Aproveche al máximo los diseñadores y editores de propiedades del IDE de Delphi
● Vista previa WYSIWYG con estilos
● Exporte el formulario para usarlo en Python y luego escriba el código de Python
● Simplemente haga clic con el botón derecho y exporte con el complemento IDE
● Funciona con cualquier edición de Delphi no requiere Object Pascal
● github.com/Embarcadero/DelphiFMX4Python/tree/main/experts
● Actualmente usa un archivo binario .pydfm, pero próximamente una versión de texto

Exportado de los diseñadores FMX de Delphi a Python (con estilos)

py7 3855907 2

Exportado de los diseñadores FMX de Delphi a Python (con estilos y animaciones)

py8 8718252 2

Implementando Python en Android… ¡Sí, Python en Android! (La arquitectura)

Fundamentos

  • Delphi FMX admite Android ARM64 como objetivo
  • La biblioteca Python4Delphi es compatible con Android
  • Permite crear la aplicación Delphi para ejecutar Python en Android

Solución

  • Una aplicación Delphi preconstruida con Python habilitado
  • Carga útil de script de Python modificable por el usuario que se ejecuta automáticamente
  • Herramienta automatizada para modificar el manifiesto de Android y compilar el APK final
    • O renuncie a APK modificado manualmente

Que hacer

  • Vista previa en vivo antes de implementar en Android
  • Agrupación de múltiples scripts y módulos de Python
  • Personaliza iconos, pantallas de inicio, carga, etc.
  • Más pruebas, depuración y sus sugerencias…

Ejecutar Python en Android

● Delphi compila de forma nativa para Android
● El tiempo de ejecución de Python está integrado en la aplicación
● Python se interpreta y ejecuta dinámicamente durante el tiempo de ejecución
● Todo Delphi FMX para Python está disponible
● Admite módulos de Python adicionales
● Completamente local: no es necesario acceder a la red

py9 3509304 2

https://github.com/Embarcadero/PythonFMXBuilder

Combinar Delphi y Python

  • La biblioteca Python4Delphi es un puente bidireccional
  • Desarrolle partes de su solución en Delphi y parte en Python
    • Juega con las fortalezas de cada uno
  • Combinarlos en una sola solución cohesiva
  • Encuentre ejemplos, tutoriales y videos

Use Delphi para crear módulos Python nativos

● Muchos módulos de Python están escritos en C/C++ y compilados de forma nativa
● Delphi también crea módulos de Python compilados de forma nativa a través de Python4Delphi
● Realice prototipos rápidamente en Python y luego cree módulos optimizados en Delphi para eliminar cuellos de botella
● Al igual que Python, el código de Delphi se centra en la legibilidad y estructura clara y puede ser más fácil para usted que usar C/C++
● Aumente su uso de PyPy o Cython

Documentación y referencias de biblioteca

Acerca de PyScripter

● Popular IDE de Python de código abierto patrocinado por Embarcadero
● Todas las funciones que se esperan en un IDE de Python moderno a la vez que ligero y muy rápido
● Compilado de forma nativa para Windows para usar una memoria mínima con el máximo rendimiento
● Depuración completa de Python con depuración remota
● Integración con herramientas de Python como PyLint, TabNanny, Profile, etc.
● Ejecutar o depurar archivos desde la memoria.
● embarcadero.com/free-tools/pyscripter/free-download

Acerca de UltraEdit

  • Editor de texto de alto rendimiento para programadores.
  • El mejor manejo de archivos grandes de la industria: más de 10 GB y más.
  • Resaltado de sintaxis para casi cualquier idioma o formato de datos.
  • Plantillas inteligentes.
  • Edición hexadecimal. Edición en modo columna/bloque.
  • Parte de la familia de herramientas para desarrolladores de Idera.
  • ultraedit.com/products/ultraedit

Próximos pasos


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

Sobre el autor

Promotor jefe de desarrollo de Embarcadero Technologies.

Leave a Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

IN THE ARTICLES