Saltar a contenido

Tutorial 1 - Tu primera aplicación

Estamos listos para crear nuestra primera aplicación.

Instalar las herramientas BeeWare

En primer lugar, tenemos que instalar Briefcase. Briefcase es una herramienta de BeeWare que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio beeware-tutorial que creaste en Tutorial 0, con el entorno virtual beeware-venv activado, y ejecuta:

(beeware-venv) $ python -m pip install briefcase
(beeware-venv) $ python -m pip install briefcase

Posibles errores durante la instalación

Si aparecen errores durante la instalación, es casi seguro que se deba a que no se han instalado algunos de los requisitos del sistema. Asegúrate de haber instalado todos los prerrequisitos de la plataforma.

(beeware-venv) C:\...>python -m pip install briefcase

Posibles errores durante la instalación

Es importante que utilices python -m pip, en lugar de pip. Briefcase necesita asegurarse de que tiene una versión actualizada de pip y setuptools, y una invocación de pip no puede auto-actualizarse. Si quieres saber más, Brett Cannon tiene una entrada de blog detallada sobre el problema.

Crear un nuevo proyecto

¡Empecemos nuestro primer proyecto BeeWare! Vamos a utilizar el comando new de Briefcase para crear una aplicación llamada Hello World. Ejecute lo siguiente desde su símbolo del sistema:

(beeware-venv) $ briefcase new
(beeware-venv) $ briefcase new
(beeware-venv) C:\...>briefcase new

Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Para los propósitos de este tutorial, utilice lo siguiente:

  • Nombre Formal - Acepta el valor por defecto: Hola Mundo.
  • Nombre de la aplicación - Acepta el valor por defecto: helloworld.
  • Paquete - Si tiene su propio dominio, introdúzcalo en orden inverso. (Por ejemplo, si posee el dominio "cupcakes.com", introduzca com.cupcakes como paquete). Si no posee su propio dominio, acepte el paquete predeterminado (com.ejemplo).
  • Nombre del proyecto - Acepte el valor por defecto: Hola Mundo.
  • Descripción - Acepte el valor por defecto (o, si quiere ser realmente creativo, invente su propia descripción)
  • Autor - Escriba aquí su propio nombre.
  • Correo electrónico del autor - Introduzca su propia dirección de correo electrónico. Se utilizará en el archivo de configuración, en el texto de ayuda y en cualquier lugar donde se requiera un correo electrónico al enviar la aplicación a una tienda de aplicaciones.
  • URL - La URL de la página de destino de su aplicación. De nuevo, si es dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el https://). Si no, acepta la URL por defecto (https://example.com/helloworld). No es necesario que esta URL exista realmente (por ahora); sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones.
  • Licencia - Acepta la licencia por defecto (BSD). Sin embargo, esto no afectará en nada al funcionamiento del tutorial, así que si tienes sentimientos particularmente fuertes sobre la elección de la licencia, siéntete libre de elegir otra licencia.
  • GUI framework - Acepte la opción por defecto, Toga (el propio conjunto de herramientas GUI de BeeWare).

Briefcase generará entonces un esqueleto de proyecto para que lo utilices. Si has seguido este tutorial hasta ahora, y has aceptado los valores por defecto tal y como se describen, tu sistema de archivos debería parecerse 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

Este esqueleto es en realidad una aplicación en pleno funcionamiento sin añadir nada más. La carpeta src contiene todo el código de la aplicación, la carpeta tests contiene un conjunto de pruebas iniciales, y el archivo pyproject.toml describe cómo empaquetar la aplicación para su distribución. Si abres pyproject.toml en un editor, verás los detalles de configuración que acabas de proporcionar a Briefcase.

Ahora que tenemos una aplicación stub, podemos utilizar Briefcase para ejecutar la aplicación.

Ejecutar la aplicación en modo desarrollador

Entra en el directorio del proyecto helloworld y dile a briefcase que inicie el proyecto en modo desarrollador (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...
===========================================================================

Esto debería abrir una ventana GUI:

Tutorial Hola Mundo 1 ventana, en Linux

Posibles errores al ejecutar «briefcase dev»

Si obtienes un error al ejecutar briefcase dev, es casi seguro que se debe a que algunos de los requisitos del sistema no se han instalado. Asegúrate de haber instalado todos los requisitos previos de la plataforma; el mensaje de error que recibas debería indicarte qué paquetes faltan.

Tutorial Hola Mundo 1 ventana, en Windows

Requisitos no válidos o pip incapaz de conectarse

Si se encuentra con el error:

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.

Confirme que está ejecutando una versión de python compatible con este tutorial.

Si tu versión de python no es una versión soportada, tendrás que reiniciar el tutorial.

Pulsa el botón de cerrar (o selecciona Salir en el menú de la aplicación), ¡y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e independiente en Python!

Siguientes pasos

Ahora tenemos una aplicación que funciona, ejecutándose en modo desarrollador. Ahora podemos añadir algo de lógica propia para hacer que nuestra aplicación haga algo un poco más interesante. En Tutorial 2, pondremos una interfaz de usuario más útil en nuestra aplicación.