Das Ziel
Das Endziel des BeeWare-Projekts: Für mobile und Desktop-basierte Software das zu tun und Desktop-Benutzersoftware das Gleiche zu tun, was Django für Web-Software Software getan hat - den Benutzern eine Reihe von Werkzeugen und Bibliotheken an die Hand zu geben die es ihnen ermöglichen, reichhaltige, native Benutzeroberflächen zu entwickeln und auf ihre Geräte zu übertragen. Dies beinhaltet:
- Werkzeuge, um Python auf verschiedenen Geräten laufen zu lassen,
- Werkzeuge, um ein Python-Projekt so zu verpacken, dass es auf diesen Geräten ausgeführt werden kann,
- Bibliotheken für den Zugriff auf die nativen Widgets und Fähigkeiten von Geräten,
- Werkzeuge, die bei der Entwicklung, Fehlersuche, Analyse und diesen Projekten helfen.
Das Ziel ist, dass diese Werkzeuge einfach genug sind, um von Neulinge in einer Django-Girls-ähnlichen Umgebung zu verwenden; aber leistungsfähig dass sie das nächste Instagram, Pinterest oder Disqus vorantreiben können. Disqus.
Am wichtigsten ist jedoch, dass all dies im Rahmen einer Open-Source-Gemeinschaft geschehen soll. Der Open-Source-Entwicklungsprozess hat sich als der zuverlässigste Weg erwiesen zuverlässigste Art und Weise, robuste und zuverlässige Software zu entwickeln, und die Tatsache, dass Software zugreifen kann, bedeutet, dass jeder mit denselben mit den gleichen hervorragenden Werkzeugen beginnen kann, egal ob er Experte oder begeisterter Amateur ist.
Python überall
Ein modernes Computerprojekt kann die größte Entwicklung der letzten der letzten 10 Jahre ignorieren. Python rühmt sich damit, eine plattformübergreifende Sprache zu sein. Vor 10 Jahren bedeutete plattformübergreifend zu sein für Windows, macOS und Linux verfügbar zu sein. Heutzutage ist die mobile Datenverarbeitung viel wichtiger. Trotzdem gibt es nicht viele gute Optionen für die Python-Programmierung auf mobilen Plattformen, und plattformübergreifende mobile Programmierung ist immer noch schwer zu fassen.
BeeWare betrachtet mobile und andere neue Plattformen (wie Uhren und Set-Top-Boxen) als Bürger erster Klasse des Computer-Ökosystems - denn denn wenn die Leute diese Geräte haben, warum sollten sie nicht in der Lage sein Software für sie in Python zu schreiben.
Überall einheimisch
Es ist einfach, Themes zu verwenden, um plattformübergreifend zu arbeiten. Allerdings ist es leicht zu erkennen Anwendungen zu erkennen, die mit Themes erstellt wurden - es sind diejenigen, die sich nicht wie jede andere App verhalten. Widgets sehen nicht ganz richtig aus, oder es gibt eine Menüleiste in einem Fenster in einer OS X-Anwendung. Themes können ziemlich nahe kommen - aber es gibt immer verräterische Anzeichen.
Außerdem sind native Widgets immer schneller als ein themenbezogenes generisches Widget. Schließlich verwenden Sie native Systemfunktionen, die und optimiert wurde, und nicht eine Zeichen-Engine, die über ein generisches Widget gelegt einem generischen Widget.
Themes lassen auch viele der Zugänglichkeitsvorteile von nativen Plattformen vermissen. Die Autoren moderner Betriebssysteme verbringen viel Zeit damit, die Möglichkeiten für Menschen mit mit eingeschränkter Mobilität, Sehkraft oder Kognition. Wenn Sie native Widgets verwenden, erhalten Sie erhalten Sie diese Erleichterungen in der Regel umsonst. Wenn Sie Widgets mit einem Theme neu implementieren einem Thema, müssen Sie auch die Erleichterungen neu implementieren.
BeeWare verwendet systemeigene Widgets und systemeigene Funktionen, anstatt einen themenbasierten Ansatz für die Anwendungsentwicklung.
Native Python
BeeWare ist auch ein unverkennbar "Python first"-Framework. Wir mögen Python. Wir mögen die Art und Weise, wie es aussieht und wie es funktioniert. Wenn Python nicht nicht als erstklassige Option auf einer bestimmten Plattform verfügbar ist, tun wir was immer nötig ist, um Python als Entwicklungssprache verfügbar zu machen. Sprache verfügbar zu machen. Und wenn wir die Möglichkeit haben, das Python-Idiom für eine API oder ein Design zu übernehmen, werden wir genau das tun. Das heißt, wir werden Generatoren, Kontextmanager, yield von asynchronen Aufrufen, und mehr, um die beste Python-native API für die plattformübergreifende App-Entwicklung bereitzustellen.
Wir blicken auch in die Zukunft - das bedeutet, dass wir ausschließlich Python 3 ausschließlich.
Einheimische Erfahrung
Die Erfahrung bei der Verwendung eines Tools beginnt mit dem Installationsprozess. Teil der BeeWare-Philosophie "Native everywhere" ist die Übernahme geeigneter native Mechanismen für die Installation. Wenn Sie ein User-Space-Tool verwenden, sollte es Ihnen als Paket präsentiert werden, das Sie auf die gleiche Weise installieren installieren ist - sei es über einen App-Store, einen Installer oder eine Store, ein Installationsprogramm oder ein einfaches ausführbares Paket. Die Endbenutzer sollten nicht wissen, dass Sie die Anwendung in Python geschrieben haben.
Wenn Sie jedoch ein Entwicklerwerkzeug oder eine Bibliothek verwenden, sollte diese mit Ihrer Entwicklungsumgebung integrieren. Und da wir Python verwenden, bedeutet das, dass Sie es in Ihrer virtuellen Umgebung mit pip install und nichts weiter mehr. Keine C-Erweiterungen, keine Compiler, kein Setzen von Systempfaden oder Umgebungsvariablen - einfach installieren, importieren und mit dem Schreiben Code zu schreiben (oder auszuführen).