Målet
Det endelige mål med BeeWare-projektet: At være i stand til at gøre for mobil og desktop-brugervendt software det samme, som Django har gjort for websoftware - at software - at give brugerne et sæt værktøjer og biblioteker i hænderne der gør dem i stand til at udvikle rige, indfødte brugergrænseflader og distribuere dem til deres enheder. Dette inkluderer:
- Værktøjer til at få Python til at køre på forskellige enheder,
- Værktøjer til at pakke et Python-projekt, så det kan køre på disse enheder,
- Biblioteker til at få adgang til enhedernes indbyggede widgets og funktioner,
- Værktøjer til at hjælpe med at udvikle, debugge, analysere og disse projekter.
Målet er, at dette sæt værktøjer skal være lette nok at bruge for nybegyndere at bruge i en Django Girls-lignende setting; men kraftfuld nok til, at de kan bruges til at drive den næste Instagram, Pinterest eller Disqus.
Vigtigst af alt er det, at alt dette skal ske i et Open Source-fællesskab. Open Source-udviklingsprocessen har vist sig at være den mest pålidelige måde at udvikle robust og pålidelig software på, og det faktum, at alle kan få adgang til softwaren, betyder, at alle kan starte med det samme sæt fremragende værktøjer, hvad enten de er eksperter eller entusiastiske amatører.
Python overalt
Et moderne computerprojekt kan ikke ignorere den største udvikling inden for computere i de sidste 10 år. Python er stolt af at være et sprog på tværs af platforme. For 10 år siden betød det at være cross-platform at være tilgængelig til Windows, macOS og Linux. I dag er mobil computing meget vigtigere. På trods af dette er der ikke mange gode muligheder for Python-programmering på mobile platforme, og mobil kodning på tværs af platforme er stadig svær at finde.
BeeWare omfavner mobile og andre nye platforme (som ure og set-top-bokse) som en førsteklasses borger i computer-økosystemet - for for hvis folk har disse enheder, hvorfor skulle de så ikke kunne skrive software til dem i Python.
Indfødt overalt
Det er nemt at bruge temaer til at opnå cross-platform. Men det er nemt at at få øje på apps, der er bygget ved hjælp af temaer - det er dem, der ikke opfører sig helt som enhver anden app. Widgets ser ikke helt rigtige ud, eller der er en menulinje i et vindue i en OS X-app. Temaer kan komme ret tæt på tæt på - men der er altid tegn på det.
Dertil kommer, at indbyggede widgets altid er hurtigere end en generisk widget. Når alt kommer til alt, bruger du indbygget systemkapacitet, der er blevet tunet og optimeret, ikke en tegnemotor, der er lagt oven på en generisk en generisk widget.
Temaer går også glip af mange af de tilgængelighedsfordele, der er ved indbyggede platforme. Forfattere af moderne styresystemer bruger meget tid på at optimere mulighederne for mennesker med nedsat mobilitet, syn eller kognition. Hvis du bruger indbyggede widgets, får du får du normalt disse muligheder gratis. Hvis du genimplementerer widgets med et tema, skal du også genimplementere affordances.
BeeWare bruger indbyggede widgets og indbyggede funktioner i stedet for at bruge en temabaseret tilgang til applikationsudvikling.
Python native
BeeWare er også et helt igennem "Python first"-framework. Vi kan godt lide Python. Vi kan lide den måde, det ser ud på, og den måde, det fungerer på. Hvis Python ikke er tilgængelig som en førsteklasses mulighed på en bestemt platform, vil vi gøre hvad der er nødvendigt for at gøre Python tilgængeligt som udviklingssprog. udviklingssprog. Og når vi har mulighed for at bruge Pythons formsprog til et et API eller et design, vil vi gøre netop det. Det betyder, at vi vil generatorer, kontekstadministratorer, yield fra asynkrone kald og meget mere for at kunne levere den bedste Python-native API til udvikling af apps på tværs af platforme.
Vi ser også fremad - det betyder, at vi udelukkende understøtter Python 3 udelukkende.
Indfødt erfaring
Oplevelsen af at bruge et hvilket som helst værktøj starter med installationsprocessen. En del af BeeWares "Native everywhere"-filosofi er at anvende passende indfødte mekanismer til installation. Hvis du bruger et user-space-værktøj, bør det præsenteres for dig som en pakke, der skal installeres på samme samme måde, som du ville installere ethvert andet værktøj - det være sig gennem en app butik, et installationsprogram eller en simpel eksekverbar pakke. Slutbrugerne bør ikke vide, at du har skrevet applikationen i Python.
Men hvis du bruger et udviklerværktøj eller -bibliotek, bør det integreres med dit udviklingsmiljø. Og da vi bruger Python, betyder det, at du bør kunne installere det i dit virtuelle miljø med pip install og intet andet. mere. Ingen C-udvidelser, ingen compilere, ingen indstilling af systemstier eller miljøvariabler - bare installer det, importer det, og begynd at skrive (eller køre) kode.