Python ist eine äußerst beliebte Sprache für Datenanalyse und Datenwissenschaft. Für diese Beliebtheit gibt es einen guten Grund. Python ist einfach und leistungsstark. Es ist leicht zu erlernen und einfach zu benutzen. Aber die Computerwelt hat sich in den letzten 10 Jahren verändert. Wir haben das Aufkommen einer ganz neuen Klasse von Computergeräten wie Mobiltelefonen, Tablets und Uhren erlebt, auf denen Python nicht ohne Weiteres verwendet werden kann. Wie kann man also eine leistungsstarke Sprache wie Python nutzen, um Anwendungen zu entwickeln, die auf diesen neuen Geräten funktionieren, und um die Erfahrung mit den alten, fetten Plattformen, die wir kennen und lieben, zu verbessern?
BeeWare ist ein solches Werkzeug, das Ihnen dabei hilft. Es zielt darauf ab, die Verwendung von Python auf diesen neuen Plattformen für die Entwicklung nativer Anwendungen so einfach zu machen, wie Django die Webentwicklung zu etwas macht, das für Neulinge zugänglich, aber leistungsfähig genug für schwere Aufgaben ist. In diesem Tutorial zeigen wir Ihnen, wie Sie aus einer einzigen Codebasis eine Python-Anwendung erstellen können, die auf mehreren Betriebssystemen, einschließlich Android und iPhone, laufen kann.
Was ist BeeWare?
BeeWare ist eine Open-Source-Sammlung von Tools, mit denen Sie systemeigene Python-Anwendungen auf Ihrem Computer schreiben können. Es ist so weit wie möglich plattformübergreifend, was bedeutet, dass es Ihnen ermöglichen sollte, Code zu schreiben, der unverändert auf jeder Plattform läuft, auf die Sie ihn werfen. BeeWare-Produkte sollten sich genauso anfühlen wie systemeigene Produkte, wenn sie auf den jeweiligen Plattformen laufen und wie jedes andere Produkt auf der Grundlage des verfügbaren Betriebssystems installiert werden (mit offiziellen, von Ihnen erstellten Installationsprogrammen).
Installation und Einrichtung
BeeWare ist Python nativ, wenn Sie etwas installieren müssen, sollte es mit pip installierbar sein, und alle Installationsprozesse, die über pip install hinausgehen, sollten vorhandene Paketierungsmetadaten nutzen, wie z. B. die von einem Festplattendienstprogramm und Setup-Tools bereitgestellten.
Sie installieren BeeWare nicht als Ganzes, sondern als eine Reihe von kleinen, gut definierten Tools, die gut zusammenspielen.
Erstellen Sie zunächst eine virtuelle Umgebung und aktivieren Sie diese in dem von Ihnen gewünschten Ordner:
mkdir beeware
cd beeware
python3 -m venv tutorial-env
tutorial-env\Scripts\activate.bat
In dieser Umgebung installieren wir dann eine Bibliothek namens briefcase, ein BeeWare-Tool, mit dem sich Anwendungen für die Verteilung an den Endbenutzer verpacken lassen.
pip install briefcase
Um das Projekt zu starten, verwenden Sie den folgenden Befehl
Briefcase run
Nach dem Ausführen werden Ihnen einige Fragen gestellt, die Sie beantworten oder die Standardeinstellungen verwenden können, und Sie sollten ein Verzeichnis wie unten gezeigt erhalten.
.
├── 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
Dieses Skelett ist eine voll funktionsfähige Anwendung, ohne dass etwas anderes hinzugefügt wird. Wir verwenden das Skelett aus unserem obigen Beispiel (und erweitern es) als Basis für unsere Anwendung. Wir werden dieses Projekt in kleinere Teile zerlegen, um es im nächsten Abschnitt zu verwenden, in dem wir die Konzepte von separaten Verzeichnissen und Dateien vorstellen.
Führen Sie diese Anwendung zunächst mit dem folgenden Befehl aus:
#first cd into the folder
cd new_app
#then run in a development mode
briefcase dev
Ausgabe
Hinzufügen von Funktionen in der App:
Gehen Sie zunächst zur app.py und Sie werden den Standardcode sehen, den wir darin schreiben werden, um einige Funktionen wie ein Eingabefeld und Schaltflächen mit Toga, einem Toolkit von BeeWare, hinzuzufügen.
"""
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()
Code-Erklärung
- Abhängigkeiten importieren.
- Erstellen Sie eine App.
- Erstellen eines Hauptfeldes und eines Labels für die App.
- Fügen Sie dann das Etikett in das Feld ein.
- Danach erstellen Sie eine Schaltfläche mit einem Klick und fügen sie dem Feld hinzu.
- Definieren Sie die Funktion des Texteingabefeldes.
Erstellen Sie eine Anwendung, um sie unter Windows und Linux auszuführen:
Hinweis: Das Setup, das wir hier erstellen, ist plattformspezifisch, d.h. wenn Sie es unter Windows erstellen, wird es ein Setup für Windows erstellen und wenn Sie es unter Linux erstellen, wird es für Linux erstellt.
Führen Sie den folgenden Befehl in Ihrem Terminal im Ordner new_app aus
Briefcase create
Nachdem Sie den Befehl ausgeführt haben, sehen Sie, dass ein neuer Ordner mit dem Namen windows erstellt wurde. Dieser Ordner enthält Konfigurationsdateien. Überprüfen Sie dann, ob die Anwendung läuft oder nicht, indem Sie den folgenden Befehl ausführen
Briefcase run
Erzeugen wir nun die Setup-Datei mit folgendem Befehl
Briefcase package
Jetzt können Sie sehen, dass eine neue Datei im Windows-Ordner mit dem Namen new_app-0.0.1 erstellt wurde. Sie können sie installieren und wie eine normale Software ausführen.
Erstellen Sie eine App, um sie auf Android auszuführen:
Führen Sie zunächst den folgenden Befehl im Terminal aus
Briefcase create android
Dadurch wird ein neuer Ordner mit dem Namen android erstellt, und in diesem Ordner werden alle Dateien für die Android-App konfiguriert. Dieser Prozess wird ein wenig Zeit in Anspruch nehmen, da einige große Bibliotheken installiert werden, also warten Sie geduldig.
Dadurch wird ein neuer Ordner mit dem Namen android erstellt, und in diesem Ordner werden alle Dateien für die Android-App konfiguriert. Dieser Prozess wird ein wenig Zeit in Anspruch nehmen, da einige große Bibliotheken installiert werden, also warten Sie geduldig.
Sie können auch den folgenden Befehl verwenden, um es unter Windows mit einem Emulator auszuführen.
Letzte Worte
In diesem Blogbeitrag zeigen wir Ihnen, wie Sie mit der Open-Source-Bibliothek BeeWare eine plattformübergreifende Anwendung in Python schreiben können. Wir haben Anwendungen erstellt, die mehrere Plattformen unterstützen, z. B. Windows, OS X und Linux. Es ist sehr einfach, aber Sie müssen über eine Python-Bibliothek namens Toga Bescheid wissen, damit Sie die Anwendung anpassen und Funktionen hinzufügen können. Wenn Sie Fragen zu diesem Prozess haben, können Sie gerne unten einen Kommentar abgeben.