The best Python frameworks for mobile development and how to use them

The Python ecosystem has a vast array of libraries that cover almost all aspects of software development. O que é particularmente interessante é que algumas dessas bibliotecas também incluem ferramentas para compilar Python em código nativo para plataformas móveis específicas, como iOS, e Android. Sim, ouviste bem! É possível usar o Python para criar aplicações móveis nativas.

Por Que Python para o desenvolvimento móvel?, O Python é bem conhecido por sua legibilidade e facilidade de uso, o que pode se traduzir em um desenvolvimento mais rápido – um enorme benefício no mercado móvel, onde a velocidade para o mercado é fundamental para ganhar e manter market share. Por outro lado, nem o Android nem o iOS suportam linguagens interpretadas, o que significa que não podem executar nativamente aplicativos Python. É aí que uma série de frameworks superam a lacuna para permitir que aplicativos Python sejam executados em dispositivos móveis com um visual e toque nativo.,

neste tutorial, iremos:

  • Identificar os frameworks mais populares para o desenvolvimento de plataformas móveis em Python
  • aprender como criar uma aplicação simples para iOS usando frameworks em Python
  • entender os prós e contras de usar uma framework em Python versus iOS nativos ou Android tooling

vamos começar.

Frameworks móveis de plataforma cruzada para Python

quando se trata de desenvolver aplicações móveis de plataforma cruzada que suportam tanto plataformas Android quanto iOS usando Python, existem duas opções principais: Kivy e BeeWare.,

Kivy

Kivy promove-se como uma biblioteca Python de código aberto para o rápido desenvolvimento de aplicações UI multi-plataforma. Ele tem um motor gráfico que é construído sobre OpenGL, para que ele possa lidar com cargas de trabalho GPU-bound quando necessário. Ele também tem um projeto python-to-android que lhe permite portar aplicativos Python para Android. Ele tem um kit de ferramentas semelhante para iOS, embora os pacotes para iOS só podem ser gerados com Python 2.7 no momento.,

BeeWare

BeeWare é outro popular conjunto de ferramentas que permite escrever aplicações em Python e cross-compilar-los para a implantação em vários sistemas operacionais, incluindo o macOS, Windows e Linux GTK, assim como plataformas móveis como Android e iOS.

Por exemplo, existe uma ferramenta chamada pasta que lhe permite criar conjuntos de projectos para aplicações nativas específicas. Rubicon-C e Rubicon-Java também fornecem interfaces de ponte para usar Python para chamar bindings Objective-C e Java, respectivamente.,o repositório principal do BeeWare parece ser atualizado regularmente, e eles também fornecem suporte comercial que inclui treinamento, consultoria e suporte técnico.

aplicação móvel em Python com BeeWare

para experimentar o beeware toolkit, vamos criar uma aplicação móvel básica que faça algo simples como seleccionar o especial da cafetaria de hoje escolhido aleatoriamente de uma lista pré-povoada.,

Primeiro, vamos começar criando um novo python3 ambiente de desenvolvimento:

$ python3 -m venv .env

em Seguida, instalar o porta-ferramenta que vai nos ajudar a criar o projeto de código clichê:

$ pip3 install briefcase

em seguida, vamos usar a ferramenta de porta-arquivos para criar um novo projeto:

$ briefcase new

o porta-arquivos oferece uma maneira interativa para ajudar você a criar o seu projeto, solicitar informações da chave:

No final do curso, você pode executar o projeto que foi gerado em ordem para ver o aplicativo nativo (Mac ou Windows) representação., Neste caso, um vazio janela é exibida:

$ cd foodTracker$ briefcase dev

Desde que nós queremos o nosso aplicativo para ser executado em um dispositivo iOS, precisamos usar o seguinte comando dentro do projeto:

$ briefcase create iOS

neste ponto, precisamos instalar aplicativos da Apple ferramentas de desenvolvimento Xcode), a fim de prosseguir.

Uma Vez Que Xcode está no lugar, podemos editar o arquivo src/foodtracker/app.py e substitua o boilerplate por código que implementa o nosso aplicativo “daily special”:

Como você pode ver, código de estilo imperativo é usado para construir os elementos da janela., Adicionamos um elemento de caixa principal para manter todos os elementos de criança. Usando composição, adicionamos um botão e outra caixa de mensagens que contém um campo de texto readonly. Quando um usuário clica no botão, ele irá mostrar uma receita aleatória no campo de texto.

finalmente, definimos a janela principal e as suas propriedades nas últimas 3 linhas do método de inicialização.

Agora podemos construir o nosso projecto:

$ briefcase build iOS

para ver como é a nossa aplicação no nosso ambiente de trabalho, podemos usar o Xcode para abrir o projecto e executá-lo num emulador iOS.,716b536″>

Aqui está o que nós vemos quando executar o emulador:

Note que cada vez que alterar o nosso código, será necessário executar os seguintes comandos para ver as alterações no emulador:

$ briefcase update iOS$ briefcase build iOS$ briefcase run iOS

Python Móvel de Ferramentas vs Nativo de Ferramentas

Agora que já vimos alguns exemplos de criação e de construção simples aplicativos para celular com o Python, uma questão muito importante que surge é:

Por que você deve investir em escrita em Python aplicações móveis em vez de usar o padrão móvel linguagens como o Java ou Swift?,

para responder a isso, precisamos discutir os prós e contras de usar Python para o desenvolvimento móvel.

Pros:

  • O Poder do Python: podemos alavancar o poder do Python e do seu ecossistema com os frameworks Kivi e BeeWare. Isso prova ser uma vantagem considerável se você e sua equipe de desenvolvimento já estão familiarizados com o Python, e só precisa portar suas aplicações existentes para plataformas móveis.suporte multi-plataforma: isto significa que escrevemos a nossa aplicação uma vez e depois compilamo-la para diferentes plataformas, promovendo a reutilização.,

Cons:

  • tempo de compilação mais lento: parece que o ciclo de desenvolvimento é mais longo do que o habitual devido à necessidade de executar ferramentas extra ao alterar algo no nosso código. No entanto, isso poderia ser melhorado no futuro com integração de ferramentas ou scripts de automação.
  • Características menos suportadas: o Google e a Apple irão sempre promover as suas ferramentas nativas em primeiro lugar sobre alternativas. Os usuários de frameworks não nativos serão limitados por qualquer que seja a versão mais recente do (por exemplo) Kivy/BeeWare implementado., Você terá que estar no topo da lista de problemas atual e as limitações da versão atual, a fim de resolver quaisquer problemas que você está vendo de uma forma rápida.inconsistência
  • : como nem todas as funcionalidades são suportadas, haverá inconsistências entre diferentes plataformas. Por exemplo, você pode ter um layout que exibe de forma diferente em Android versus iOS. Assim, você pode ter que implementar muitos workarounds para tornar os projetos consistentes.

em geral, o uso de código imperativo para descrever interfaces de usuário requer mais esforço., Esses fluxos de trabalho são tipicamente mais fáceis de implementar dentro do Xcode da Apple ou editores embutidos do Android Studio.

no entanto, existem vantagens significativas de reutilização de código em ir com o Python para um trabalho como este, e há muitas aplicações escritas em Python que você pode usar como exemplos. se a sua organização está a considerar escrever aplicações em Python e compilá-las em plataformas nativas como iOS ou Android, deve avaliar cuidadosamente os prós e contras antes de prosseguir.,

próximos passos

para começar com os frameworks de desenvolvimento móvel neste post, crie uma conta de plataforma ActiveState livre e, em seguida, baixe a nossa compilação “desenvolvimento móvel”. A compilação contém uma versão do Python 3.7 e os frameworks neste post para que você possa testá-los por si mesmo.

nota: a forma mais simples de instalar o ambiente é instalar primeiro a interface de linha de comandos da plataforma ActiveState (CLI), a Ferramenta de Estado.,

uma Vez que o Estado Ferramenta é instalada, basta executar o comando a seguir para baixar a construir e instalar automaticamente em um ambiente virtual:
state activate Pizza-Team/Mobile-Development

Blogs Relacionados:

O Top 10 Python Frameworks para Desenvolvimento Web

Top 10 Pacotes Python que Todo Desenvolvedor Deve Aprender

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *