Vai al contenuto

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.cupcakes come 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:

Esercitazione Hello World 1 finestra, su
macOS

finestra Hello World Tutorial 1, su Linux

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.

finestra Hello World Tutorial 1, su Windows

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.