Kivy: criando apps em Python

Vivemos em um mundo em que possuir um celular ou dispositivo móvel é mais importante do que possuir dinheiro em mãos. A cada dia a tecnologia avança para um ponto em que precisamos dominar programação para dispositivos móveis. Hoje se usa mais celular que desktops e essa diferença continua crescendo.

Atualmente uma empresa precisa ter um site e, algumas delas, até possuem apps próprios. Se você sabe programar, existem várias linguagens que você pode utilizar para criar seu próprio app. Kotlin, Java, Objective C, C#, Dart são algumas delas. Hoje falaremos de como você pode criar um app próprio usando o Python, que é uma linguagem muito simples de aprender e muito versátil.

Python é a linguagem que mais cresce e o mercado de Data Science e Machine Learning a utilizam extensivamente. Se você quer saber quais outros usos e porquê seria legal aprender python você pode checar esse post.

No post de hoje vamos assumir que você já está familiarizado com a linguagem python, pelo menos com o básico.

Kivy

Kivy é uma biblioteca muito completa para o desenvovimento de Apps em python. Não só aplicações para mobile mas também aplicações desktop. Ou seja, você consegue com apenas 1 código gerar 4 executáveis para rodar em iOS, Android, Windows e OSX. Com isso você consegue eliminar o problema de ter várias bases de código diferentes pra cada um desses dispositivos e se preocupar apenas com o que importa.

O Kivy segue um padrão de UI chamado NUI – Natural User Interface. Basicamente, segue os padrões de aplicações que estamos acostumados a utilizar no dia-a-dia nos nossos notebooks e celulares. Ele é completamente feito em Python, o que permite que, com um conhecimento simples da linguagem, você já consiga utilizar os recursos e criar um app em algumas horas!

Nada de passar vários meses estudando, você consegue colocar a mão na massa imediatamente!

Como tem muita coisa a ser dita, vamos dividir o que temos para falar do Kivy.  No post de hoje falaremos sobre a instalação e configuração dele em celular Android. Escolhemos essa opção por ser mais simples, mas caso você queira colocar sua aplicação em seu iPhone você pode seguir esse tutorial.

Antes da Instalação

Antes de começarmos, precisamos garantir que o Python e o pip estão instalados e funcionais na sua máquina. Você pode utilizar uma IDE à sua escolha para fazer o desenvolvimento com Kivy. Qualquer IDE com integração com Python irá funcionar sem problema. Nós recomendamos o Visual Studio Code por ser muito leve e rápido, além de conseguir integrar muitas ferramentas que facilitam nossa vida.

Agora vamos ao que interessa…

Instalação

Podemos fazer uma instalação muito simples utilizando o pip. Para isso precisamos utilizar o terminal de comando.  Será necessário rodar o terminal como Administrador. Basta clicar com o botão direito e escolher a opção, como na imagem abaixo:

IMPORTANTE: Se você utiliza, MacOS ou Linux você tem que utilizar o comando pip3 no lugar do pip. Você precisará trocar em todos os códigos abaixo.

Primeiro vamos testar para garantir que o pip está funcionando corretamente.

python -m ensurepip

Se tudo estiver certo uma mensagem como essa deve aparecer:

Se uma mensagem diferente apareceu, você pode seguir o tutorial da seção Antes da Instalação.

Agora vamos começar fazendo uma atualização do pip:

python -m pip install --upgrade pip wheel setuptools virtualenv

Depois vamos instalar os pré-requisitos do Kivy:

python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.22 kivy_deps.glew==0.1.12
python -m pip install kivy_deps.gstreamer==0.1.17

Agora, finalmente, vamos instalar o Kivy propriamente dito:

python -m pip install kivy==1.11.1

 

Finalmente!!

Agora temos o Kivy instalado!

Testando e Criando nosso primeiro app

Para criar um app com Kivy é muito simples.
Hoje vamos apenas passar o código de um app com um botão e um texto. No próximo post vamos ver um pouco mais sobre como construir um app e como a biblioteca funciona.

# -*- coding: utf-8 -*-

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout

from kivy.uix.button import Button

kivy.require('1.9.1')

var = 0
def soma_um(instance):
    global var
    var += 1
    instance.text = str(var)    
    
class MeuApp(App):
    def build(self):
        layout = BoxLayout(orientation='vertical',
                padding=[40, 20, 40, 20])
        
        layout.add_widget(Label(text='Olá do Kivy!'))
        btn = Button(text='Pressione-me!', size=(100,50))
        
        btn.bind(on_press=soma_um)
        layout.add_widget(btn)
        return layout 
    
if __name__ == '__main__':
    MeuApp().run()

Você pode executar esse código e vai ver uma tela semelhante a essa:

 

Agora vamos testar no celular.

Colocando seu app no celular

Embora você possa gerar um executável e colocar o app pronto direto no celular e na Google Play existem alguns requisitos mais chatos de serem feitos. Por exemplo, você deve ter um terminal do Ubuntu para gerar o executável. Você consegue fazer isso no Windows, mas para deixar nossa vida melhor, vamos no jeito mais fácil.

A forma mais simples de rodar o app do Kivy no celular é instalar o Kivy Launcher.

Esse é um aplicativo para rodar e testar aplicativos que utilizam o Kivy em Python. Tudo que precisamos fazer é conectar nosso celular com um cabo USB. Depois disso podemos criar uma pasta chama Kivy e criar uma pasta para nosso app.

Depois, dentro da pasta kivy, vamos criar uma pasta para nosso app.

Agora vamos colocar na pasta o nosso arquivo que gera o Kivy. Temos que chamar o arquivo de main.py, isso é muito importante!! 

Além disso precisamos de um arquivo chamado android.txt que vai dizer algumas algumas informações sobre o nosso app. Dentro desse arquivo precisa estar o nome do app, o autor e se o app deve ficar “em pé ou deitado”.

Você pode trocar os valores pelos seus dados. Como exemplo, podemos colocar:

title=Meu App
author=Let's Code
orientation=portrait

No final devemos ter dois arquivos:

 

Agora é só executar o nosso Kivy Laucher pelo celular. Você deverá ver telas como essas:

Parabéns!!

Agora seu Kivy está configurado e rodando!

No próximo tutorial de Kivy vamos mostrar como você pode fazer um app exatamente como você quer. Você pode dar uma olhada na documentação da biblioteca e brincar por si próprio também.