L'obiettivo

L'obiettivo finale del progetto BeeWare: Essere in grado di fare per il software mobile e desktop, la stessa cosa che Django ha fatto per il software web: mettere nelle mani degli utenti un insieme di strumenti e librerie web: mettere nelle mani degli utenti un insieme di strumenti e librerie che permettano loro di che permetta loro di sviluppare interfacce utente ricche e native e di distribuirle sui loro dispositivi. e distribuirle sui loro dispositivi. Questo include:

  • Strumenti per consentire l'esecuzione di Python su diversi dispositivi,
  • Strumenti per pacchettizzare un progetto Python in modo che possa essere eseguito su tali dispositivi,
  • Librerie per accedere ai widget e alle funzionalità native dei dispositivi,
  • Strumenti per aiutare a sviluppare, debuggare, analizzare e questi progetti.

L'obiettivo è che questo insieme di strumenti sia sufficientemente facile da usare per i per i neofiti in un ambiente simile a quello delle Django Girls, ma abbastanza potente da poter abbastanza potenti da poter essere utilizzati per creare il prossimo Instagram, Pinterest o Disqus. Disqus.

Soprattutto, mira a fare tutto questo come una comunità Open Source. Il processo di sviluppo Open Source ha dimostrato di essere il modo più modo più affidabile per sviluppare un software robusto e affidabile, e il fatto che chiunque possa accedere al software chiunque possa accedere al software significa che tutti possono iniziare con lo stesso stesso set di strumenti eccellenti, sia che si tratti di un esperto o di un dilettante entusiasta.

Python ovunque

Un progetto informatico moderno non può ignorare il più grande sviluppo nel campo dell'informatica degli ultimi 10 anni. informatica degli ultimi 10 anni. Python si vanta di essere un linguaggio linguaggio multipiattaforma. 10 anni fa, essere multipiattaforma significava essere disponibile per disponibile per Windows, macOS e Linux. Al giorno d'oggi, il mobile computing è molto più importante. Ciononostante, non ci sono molte opzioni valide per la programmazione Python su piattaforme mobili. programmazione Python su piattaforme mobili e la codifica mobile multipiattaforma è ancora mobile multipiattaforma è ancora difficile da realizzare.

BeeWare abbraccia il mobile e altre piattaforme emergenti (come orologi e set-top-box) come cittadini di prima classe dell'ecosistema informatico. come cittadini di prima classe dell'ecosistema informatico. perché se le persone possiedono questi dispositivi, perché non dovrebbero essere in grado di scrivere software in Python.

Nativo ovunque

È facile usare i temi per ottenere la multipiattaforma. Tuttavia, è facile individuare è facile individuare le applicazioni costruite con i temi: sono quelle che non si comportano come qualsiasi altra applicazione. I widget non hanno un aspetto quasi corretto, oppure c'è una barra di menu in una finestra di un'applicazione OS X. I temi possono avvicinarsi ma ci sono sempre dei segni rivelatori.

Inoltre, i widget nativi sono sempre più veloci di un widget generico a tema. tematizzato. Dopotutto, si sta utilizzando una capacità di sistema nativa che è stata ottimizzate, non un motore di disegno sovrapposto a un widget generico. un widget generico.

I temi, inoltre, perdono molti dei vantaggi di accessibilità delle piattaforme native. Gli autori dei moderni sistemi operativi dedicano molto tempo alla messa a punto di funzionalità per le persone con mobilità, la vista o la cognizione. Se si utilizzano widget nativi, di solito nativi, di solito si ottengono questi vantaggi gratuitamente. Se si reimplementano i widget con un tema, si devono reimplementare anche le funzionalità.

BeeWare utilizza widget nativi e funzionalità native, invece di utilizzare un approccio tematico allo sviluppo delle applicazioni.

Python nativo

BeeWare è anche un framework dichiaratamente "Python first". Ci piace Python. Ci piace il suo aspetto e il suo funzionamento. Se Python non è non è disponibile come opzione di prima classe su una particolare piattaforma, faremo tutto ciò che è necessario per rendere Python disponibile come linguaggio di sviluppo. linguaggio di sviluppo. E quando avremo l'opportunità di adottare l'idioma Python per un'API o un progetto, faremo tutto il necessario per rendere Python disponibile come linguaggio di sviluppo. un'API o un progetto, lo faremo. Ciò significa che useremo utilizzare generatori, gestori di contesto, yield da chiamate asincrone e altro ancora, al fine di fornire la migliore API API Python-native per lo sviluppo di applicazioni multipiattaforma.

Guardiamo anche al futuro: questo significa che supportiamo Python 3 esclusivamente.

Esperienza nativa

L'esperienza di utilizzo di qualsiasi strumento inizia con il processo di installazione. Parte della filosofia "Native everywhere" di BeeWare consiste nell'adottare appropriati meccanismi nativi per l'installazione. Se si utilizza uno strumento per lo spazio utente, Se si utilizza uno strumento per lo spazio utente, questo dovrebbe essere presentato come un pacchetto da installare come un pacchetto da installare nello stesso modo in cui si installerebbe qualsiasi altro strumento, che sia attraverso un app store, un installer o un store, un programma di installazione o un semplice pacchetto eseguibile. Gli utenti finali non dovrebbero sapere che l'applicazione è stata scritta in Python.

Ma se si usa uno strumento o una libreria per sviluppatori, allora dovrebbe integrare con l'ambiente di sviluppo. E poiché stiamo usando Python, ciò significa che dovreste essere in grado di installarlo nell'ambiente virtuale virtuale usando pip install e niente di più. di più. Niente estensioni C, niente compilatori, niente impostazione di percorsi di sistema o variabili d'ambiente. variabili d'ambiente: basta installarlo, importarlo e iniziare a scrivere (o eseguire) codice. (o eseguire) codice.