Python est un langage extrêmement populaire pour l’analyse et la science des données. Il y a une bonne raison à cette popularité. Python est simple et puissant. Il est facile à apprendre et à utiliser. Mais l’informatique a changé au cours des dix dernières années. Nous avons assisté à l’émergence d’une toute nouvelle catégorie d’appareils informatiques, comme les téléphones mobiles, les tablettes et les montres, pour lesquels il n’est pas possible d’utiliser Python tel quel. Alors comment prendre un langage puissant comme Python et l’utiliser pour créer des applications qui fonctionnent sur ces nouveaux appareils informatiques et améliorer l’expérience des anciennes plateformes audacieuses que nous connaissons et aimons ? 

BeeWare est l’un de ces outils qui vous aide à le faire. Il vise à rendre l’utilisation de Python sur ces nouvelles plates-formes aussi simple pour le développement d’applications natives que Django rend le développement Web accessible aux nouveaux venus, mais suffisamment puissant pour les applications lourdes. Dans ce tutoriel, nous allons vous montrer comment construire une application Python, qui peut fonctionner sur plusieurs systèmes d’exploitation, y compris Android et iPhone, à partir d’une seule base de code.

Qu’est-ce que BeeWare ?

BeeWare est un logiciel libre ; une collection d’outils qui vous permet d’écrire des applications Python natives du système depuis votre ordinateur. Il est multiplateforme dans la mesure du possible, ce qui signifie qu’il devrait vous permettre d’écrire du code qui s’exécute sans modification sur toutes les plateformes sur lesquelles vous le lancez. Les produits BeeWare doivent donner la même impression que les produits natifs lorsqu’ils sont exécutés sur leurs plateformes respectives et sont installés comme n’importe quel autre produit en fonction du système d’exploitation disponible (avec des installateurs officiels créés par vos soins). 

Installation et configuration

BeeWare est natif de Python ; si vous avez besoin d’installer quelque chose, il doit être installable par pip et tout processus d’installation au-delà de pip install doit tirer parti des métadonnées d’emballage existantes telles que celles fournies par un utilitaire de disque et des outils d’installation. 

Note : Bien que BeeWare soit un ensemble cellulaire d’outils bien intégrés, ce n’est pas un monolithe, vous n’installez pas BeeWare dans son ensemble mais une série de petits outils bien définis qui fonctionnent bien ensemble.

Tout d’abord, créez un environnement virtuel et activez-le dans le dossier de votre choix :

mkdir beeware
cd beeware
python3 -m venv tutorial-env
tutorial-env\Scripts\activate.bat

Ensuite, dans cet environnement, nous allons installer une bibliothèque appelée briefcase ; c’est un outil BeeWare qui peut être utilisé pour empaqueter des applications en vue de leur distribution à l’utilisateur final.

pip install briefcase

Pour exécuter le projet, utilisez la commande suivante

Briefcase run

Après l’avoir lancé, il vous posera quelques questions, répondez-y ou utilisez les paramètres par défaut et vous devriez obtenir un répertoire comme celui montré ci-dessous.

.
├── LICENSE
├── pyproject.toml
├── README.rst
└── src
└── new_app
    ├── app.py
    ├── __init__.py
    ├── __main__.py
    └── resources
        ├── new_app.icns
        ├── new_app.ico
        ├── new_app.png
        └── __init__.py

Ce squelette est une application qui fonctionne parfaitement sans rien ajouter d’autre. Nous utilisons le squelette de notre exemple ci-dessus (et le développons) comme base pour notre application. Nous allons découper ce projet en petits morceaux que nous utiliserons dans la prochaine section où nous introduirons les concepts de répertoires et de fichiers séparés.

Tout d’abord, exécutons cette application avec la commande suivante :

#first cd into the folder
cd new_app

#then run in a development mode
briefcase dev

Sortie

Ajout de fonctions dans l’application :

Tout d’abord, allez dans le fichier app.py et vous verrez le code par défaut que nous allons écrire pour ajouter quelques fonctionnalités comme une boîte de saisie d’étiquettes et des boutons en utilisant toga, une boîte à outils de BeeWare.

"""
hello this is my first application
"""
import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW


class new_app(toga.App):

    def startup(self):

        # main box
        main_box = toga.Box(style=Pack(direction=COLUMN))
        # creating a label
        name_label = toga.Label("Enter Text : ",style=Pack(padding=(0,5)))
        self.name_input = toga.TextInput(style=Pack(flex=1))
        name_box = toga.Box(style=Pack(direction=ROW,padding=5))

        # adding label to this box
        name_box.add(name_label)
        name_box.add(self.name_input)

        # creaing a one click button
        button = toga.Button("Submit",on_press=self.say_hello,style=Pack(padding=5))

        # adding name box and button in the box
        main_box.add(name_box)
        main_box.add(button)

        self.main_window = toga.MainWindow(title=self.formal_name)
        self.main_window.content = main_box
        self.main_window.show()

    def say_hello(self,widget):
        print("hello",self.name_input.value)

 
def main():
    return new_app()

Explication du code

  1. Importer les dépendances.
  2. Créez une application.
  3. Création d’une boîte principale et d’une étiquette de l’application.
  4. Ajoutez ensuite l’étiquette à la boîte.
  5. Ensuite, créez un bouton à un clic et ajoutez-les à la boîte.
  6. Définissez la fonction de la zone de saisie de texte.

Créez une application pour le faire fonctionner sous Windows et Linux :

Note : La configuration que nous créons ici est spécifique à la plateforme, ce qui signifie que si vous la créez sous Windows, elle sera créée pour Windows et si elle est sous Linux, elle sera créée pour Linux.

Exécutez la commande suivante dans votre terminal dans le dossier new_app

Briefcase create

Après avoir exécuté la commande, vous verrez qu’un nouveau dossier a été créé avec le nom windows. Ce dossier contient les fichiers de configuration. Vérifiez ensuite si l’application fonctionne ou non en exécutant la commande suivante

Briefcase run

Maintenant, créons le fichier setup en exécutant la commande suivante

Briefcase package

C’est maintenant que vous pouvez voir qu’un nouveau fichier est créé dans le dossier windows avec le nom new_app-0.0.1. Vous pouvez l’installer et l’exécuter comme un logiciel normal.

Créez une application pour le faire fonctionner sur android :

Tout d’abord, exécutez la commande suivante dans le terminal

Briefcase create android

Cela créera un nouveau dossier avec le nom android, et dans ce dossier, tous les fichiers liés à l’application android seront configurés. Ce processus va prendre un peu de temps car il va installer quelques grosses bibliothèques, alors attendez patiemment.

Et c’est tout, vous pouvez maintenant voir un nouveau fichier .apk dans le dossier android, vous pouvez l’installer sur votre appareil android comme une application android normale.

Ou vous pouvez également utiliser la commande suivante pour l’exécuter sous Windows en utilisant un émulateur.

Le mot de la fin

Dans ce billet de blog, nous allons voir comment écrire une application multiplateforme en Python, en utilisant la bibliothèque open-source BeeWare. Nous avons créé des applications qui prennent en charge plusieurs plateformes, telles que Windows, OS X et Linux. C’est très facile mais vous devez connaître une bibliothèque python appelée toga pour pouvoir personnaliser et ajouter des fonctions à l’application. Si vous avez des questions concernant le processus, n’hésitez pas à commenter ci-dessous.