Esercitazione 1 - La vostra prima applicazione¶
Siamo pronti a creare la nostra prima applicazione.
Installare gli strumenti BeeWare¶
Per prima cosa, è necessario installare Briefcase. Briefcase è uno strumento
di BeeWare che può essere usato per confezionare l'applicazione da distribuire
agli utenti finali, ma può anche essere usato per avviare un nuovo progetto.
Assicuratevi di essere nella cartella beeware-tutorial creata in Tutorial
0, con l'ambiente virtuale beeware-venv attivato ed eseguite:
(beeware-venv) $ python -m pip install briefcase
(beeware-venv) $ python -m pip install briefcase
Possibili errori durante l'installazione
Se si riscontrano errori durante l'installazione, è quasi certamente perché alcuni dei requisiti di sistema non sono stati installati. Assicuratevi di aver installato tutti i pre-requisiti della piattaforma.
(beeware-venv) C:\...>python -m pip install briefcase
Possibili errori durante l'installazione
È importante utilizzare python -m pip, piuttosto che un semplice pip.
Briefcase deve assicurarsi di avere una versione aggiornata di pip e
setuptools, e un'invocazione nuda di pip non può autoaggiornarsi. Se volete
saperne di più, Brett Cannon ha un post dettagliato sul blog sul
problema.
Bootstrap di un nuovo progetto¶
Avviamo il nostro primo progetto BeeWare! Useremo il comando new di Briefcase
per creare un'applicazione chiamata Hello World. Eseguite il seguente
comando dal prompt dei comandi:
(beeware-venv) $ briefcase new
(beeware-venv) $ briefcase new
(beeware-venv) C:\...>briefcase new
Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. Ai fini di questa esercitazione, utilizzate quanto segue:
- Nome formale - Accettare il valore predefinito:
Hello World. - Nome applicazione - Accettare il valore predefinito:
helloworld. - Bundle - Se si possiede un proprio dominio, inserirlo in ordine inverso.
(Ad esempio, se si possiede il dominio "cupcakes.com", inserire
com.cupcakescome bundle). Se non si possiede un dominio proprio, accettare il bundle predefinito (com.example). - Nome del progetto - Accettare il valore predefinito:
Hello World. - Descrizione - Accettare il valore predefinito (o, se si vuole essere molto creativi, creare una descrizione personalizzata)
- Autore - Inserire qui il proprio nome.
- Email dell'autore - Inserire il proprio indirizzo e-mail. Verrà utilizzato nel file di configurazione, nel testo della guida e ovunque sia richiesto un indirizzo e-mail quando si invia l'applicazione a un app store.
- URL - L'URL della pagina di destinazione dell'applicazione. Anche in
questo caso, se si possiede un dominio proprio, inserire un URL di quel
dominio (compreso
https://). Altrimenti, accettare l'URL predefinito (https://example.com/helloworld). Questo URL non deve esistere (per ora); sarà usato solo se si pubblica l'applicazione su un app store. - Licenza - Accettare la licenza predefinita (BSD). Questo non influisce in alcun modo sul funzionamento del tutorial, quindi se si hanno sentimenti particolarmente forti riguardo alla scelta della licenza, si può scegliere liberamente un'altra licenza.
- Quadro GUI - Accettare l'opzione predefinita, Toga (il toolkit GUI di BeeWare).
Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete seguito questo tutorial fino a questo punto e avete accettato le impostazioni predefinite come descritto, il vostro file system dovrebbe avere un aspetto simile a:
beeware-tutorial/
├── beeware-venv/
│ └── ...
└── helloworld/
├── CHANGELOG
├── LICENSE
├── pyproject.toml
├── README.rst
├── src/
│ └── helloworld/
│ ├── app.py
│ ├── __init__.py
│ ├── __main__.py
│ └── resources/
│ └── README
└── tests/
├── helloworld.py
├── __init__.py
└── test_app.py
Questo scheletro è in realtà un'applicazione completamente funzionante, senza
aggiungere altro. La cartella src contiene tutto il codice dell'applicazione,
la cartella tests contiene una suite di test iniziale e il file
pyproject.toml descrive come confezionare l'applicazione per la distribuzione.
Se si apre pyproject.toml in un editor, si vedranno i dettagli di
configurazione appena forniti a Briefcase.
Ora che abbiamo un'applicazione stub, possiamo usare Briefcase per eseguire l'applicazione.
Eseguire l'applicazione in modalità sviluppatore¶
Spostatevi nella cartella del progetto helloworld e dite a briefcase di
avviare il progetto in modalità sviluppatore (o dev):
(beeware-venv) $ cd helloworld
(beeware-venv) $ briefcase dev
[helloworld] Activating dev environment...
...
Creating virtual environment (dev.cpython-313-darwin)... done
[hello-world] Installing requirements...
...
[helloworld] Starting in dev mode...
===========================================================================
(beeware-venv) $ cd helloworld
(beeware-venv) $ briefcase dev
[helloworld] Activating dev environment...
...
Creating virtual environment (dev.cpython-313-x86_64-linux-gnu)... done
[hello-world] Installing requirements...
...
[helloworld] Starting in dev mode...
===========================================================================
(beeware-venv) C:\...>cd helloworld
(beeware-venv) C:\...>briefcase dev
[helloworld] Activating dev environment...
...
Creating virtual environment (dev.cp313-win_amd64)... done
[hello-world] Installing requirements...
...
[helloworld] Starting in dev mode...
===========================================================================
Si dovrebbe aprire una finestra dell'interfaccia grafica:


Possibili errori durante l'esecuzione di briefcase dev
Se ricevi un errore quando esegui briefcase dev, è quasi certamente perché
alcuni dei requisiti di sistema non sono stati installati. Assicurati di aver
installato tutti i prerequisiti della piattaforma; il
messaggio di errore che ricevi dovrebbe indicarti quali pacchetti mancano.

Requisiti non validi o pip non in grado di connettersi
Se si verifica l'errore:
Unable to install requirements. This may be because one of your
requirements is invalid, or because pip was unable to connect
to the PyPI server.
Confermare che si sta eseguendo una versione di python supportata da questo tutorial.
Se la vostra versione di python non è supportata, dovrete riavviare l'esercitazione.
Premete il pulsante di chiusura (o selezionate Quit dal menu dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto un'applicazione nativa standalone in Python!
Prossimi passi¶
Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. Ora possiamo aggiungere un po' di logica per far fare alla nostra applicazione qualcosa di più interessante. In Tutorial 2, realizzeremo un'interfaccia utente più utile per la nostra applicazione.