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

Python no Android com Delphi FMX – The Cross Platform GUI Framework

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

Saiba como os módulos Python gratuitos recém-lançados da Embarcadero trazem o poder e a flexibilidade das estruturas GUI do Delphi para o Python. VCL e FireMonkey (FMX) são bibliotecas GUI maduras. O VCL está focado no desenvolvimento nativo do Windows, enquanto o FireMonkey traz uma poderosa estrutura de GUI flexível para Windows, Linux, macOS e até Android. Este webinar apresentará a você esses novos módulos Python gratuitos e como você pode usá-los para criar interfaces gráficas de usuário com Python. A Parte 2 mostrará como direcionar aplicativos Android GUI com Python!

 

Quem é Você?

● Desenvolvedores Python que desejam uma boa GUI
● Desenvolvedores Python curiosos sobre Delphi
● Desenvolvedores Delphi que desejam usar Python
● Desenvolvedores Delphi curiosos sobre o que há de novo
● Outros desenvolvedores curiosos sobre Delphi e Python

Não é uma competição

● Os desenvolvedores têm várias ferramentas em sua bancada
● Trata-se de encontrar a ferramenta certa para cada tarefa
● Ter ferramentas especializadas para diferentes tarefas não diminui as ferramentas favoritas
● Você sempre pode encontrar uma tarefa específica para a qual outra ferramenta é melhor, mas não uma ferramenta é a melhor para todas as tarefas.

O que é Delphi para Python?

  • Conjunto de módulos Python gratuitos trazendo bibliotecas GUI do Delphi para desenvolvedores Python
    • Maduro, rico em recursos, nativo e multiplataforma
    • Não requer Delphi para usar
  • Baseado no Python4Delphi de código aberto (mesma tecnologia que alimenta o PyScripter IDE)
  • Disponível hoje no GitHub e PyPi
    • Atualmente em beta, mas pronto para uso
  • DelphiVCL para Python suporta Windows (32 bits e 64 bits)
  • DelphiFMX para Python adiciona Linux, Android e Mac OS
  • Parte de uma ponte bidirecional entre Delphi e Python

Dissecando as pilhas de tecnologia

py1 6685678 2

FMX A plataforma cruzada (FireMonkey Framework)

  • Aproveita as bibliotecas de GPU para fornecer uma interface de usuário rica e acelerada por hardware, rápida e com ótima aparência em várias plataformas:
    • Windows, macOS, iOS, Android e Linux
    • Usa DirectX no Windows, OpenGL no Linux, OpenGL-ES no Android e Metal no iOS e macOS
  • Semelhante ao VCL, mas não projetado para ser compatível
    • Projetado como plataforma cruzada desde o início
  • Efeitos de GPU integrados, animações e sistema de estilo robusto
  • Os serviços da plataforma abstraem o acesso ao hardware e à funcionalidade da plataforma para adaptar de forma inteligente a UI e UX às especificidades da plataforma
  • Sistema de componentes muito flexível – faça mais com menos componentes

Delphi para Python

py2 1983293 2

Delphi FMX para instalação do Python

  • Instalar via pip
    • pip install delphifmx
  • Apoia:
    • Arquiteturas Win32 x86, Win64 x86, Linux64 x86, Android64, Mac OS x64 (Intel) e Mac M1 (Arm)
    • Python cp3.6, cp3.7, cp3.8, cp3.9 e cp3.10 (excluindo cp3.6 no Linux e macOS)
  • Suporte Conda:
    • Win x86 e x64 do Python cp3.6 para cp3.10
    • Linux x86_64 de Python cp3.7 para cp3.9 (recomendado!)
    • macOS ainda não suportado
  • Detalhes e downloads

Olá Mundo (o exemplo mais simples)

py3 6241807 2

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

Hello World (Um exemplo de Orientação a Objetos)

py4 6954926 2

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

Aplicativo ToDo (Começando a ser útil….)

py5 2447257 2

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

Com estilo (e mais controles)

py6 5122681 2

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

Projete sua interface do usuário (no Delphi IDE)

● Aproveite ao máximo os designers e editores de propriedades do Delphi IDE
● Visualização WYSIWYG com estilos
● Exporte o formulário para uso em Python e depois escreva o código Python
● Basta clicar com o botão direito do mouse e exportar com o complemento do IDE
● Funciona com qualquer edição do Delphi Object Pascal
● github.com/Embarcadero/DelphiFMX4Python/tree/main/experts
● Atualmente usa um arquivo .pydfm binário, mas a versão de texto está chegando

Exportado do Delphi’s FMX Designers para Python (com estilos)

py7 3855907 2

Exportado do Delphi’s FMX Designers para Python (com estilos e animações)

py8 8718252 2

Implantando Python no Android… Sim, Python no Android! (A arquitetura)

Fundamentos

  • Delphi FMX suporta Android ARM64 como alvo
  • A biblioteca Python4Delphi suporta Android
  • Permite a criação de aplicativo Delphi para executar Python no Android

Solução

  • Um aplicativo Delphi pré-construído com Python habilitado
  • Carga útil de script Python modificável pelo usuário que é executada automaticamente
  • Ferramenta automatizada para modificar o manifesto do Android e criar o APK final
    • Ou renuncie manualmente ao APK modificado

Façam

  • Visualização ao vivo antes de implantar no Android
  • Agrupando vários scripts e módulos Python
  • Personalize ícones, telas iniciais, carregamento, etc.
  • Mais testes, depuração e suas sugestões….

Executando Python no Android

● O Delphi compila nativamente para Android
● O tempo de execução do Python é incorporado ao aplicativo
● O Python é interpretado e executado dinamicamente em tempo de execução
● Todo o Delphi FMX para Python está disponível
● Suporta módulos Python adicionais
● Completamente local – sem necessidade de acesso à rede

py9 3509304 2

https://github.com/Embarcadero/PythonFMXBuilder

Combine Delphi e Python

  • A biblioteca Python4Delphi é uma ponte bidirecional
  • Desenvolva partes de sua solução em Delphi e parte em Python
    • Jogue com os pontos fortes de cada
  • Mescle-os em uma única solução coesa
  • Encontre amostras, tutoriais e vídeos

Use o Delphi para criar módulos nativos do Python

● Muitos módulos Python são escritos em C/C++ e compilados nativamente
● Delphi também cria módulos Python compilados nativamente via Python4Delphi
● Prototipe rapidamente em Python e, em seguida, crie módulos otimizados em Delphi para eliminar gargalos
● Muito parecido com Python, o código Delphi é focado na legibilidade e estrutura clara e pode ser mais fácil para você do que usar C/C++
● Aumente seu uso de PyPy ou Cython

Documentação e Referências de Biblioteca

Sobre o PyScripter

● IDE Python de código aberto popular patrocinado pela Embarcadero
● Todos os recursos esperados em um IDE Python moderno, sendo leve e muito rápido
● Compilado nativamente para Windows para usar memória mínima com desempenho máximo
● Depuração Python completa com depuração remota
● Integração com ferramentas Python como PyLint, TabNanny, Profile, etc.
● Execute ou depure arquivos da memória.
● embarcadero.com/free-tools/pyscripter/free-download

Sobre o UltraEdit

  • Editor de texto de alto desempenho para programadores.
  • O melhor manuseio de arquivos grandes do setor: 10+ GB e além.
  • Destaque de sintaxe para praticamente qualquer idioma ou formato de dados.
  • Modelos inteligentes.
  • Edição hexadecimal. Edição em modo coluna/bloco.
  • Parte da família Idera de ferramentas para desenvolvedores.
  • ultraedit.com/products/ultraedit

Próximos passos


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 o autor

Diretor de Consultoria Delphi da GDK Software USA. Muitas patentes relacionadas a software, incluindo desbloqueio por deslize e padrão e mecanismos de pesquisa. Primeiros emblemas Silver e Gold Delphi no Stack Overflow Ex-advogado de desenvolvedores da Embarcadero Technologies. Fã de longa data de programação, principalmente de Delphi. Autor, Podcaster/YouTuber, Improvisor, Orador, Pai e Amigo.

Leave a Reply

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

IN THE ARTICLES