Ir al contenido principal (Pulsar Intro)

Este sitio web está en construcción. Si tienes curiosidad, puedes leer la versión más reciente de la documentación de PageTop en español.

Aplicaciones

Los programas de PageTop se denominan Aplicaciones. La aplicación PageTop más simple luce así:

use pagetop::prelude::*;

#[pagetop::main]
async fn main() -> std::io::Result<()> {
    Application::new().run()?.await
}

La línea use pagetop::prelude::*; sirve para importar la API esencial de PageTop. Por brevedad, esta guía podría omitirla en ejemplos posteriores.

Ahora sólo tienes que copiar el código anterior en tu archivo main.rs y desde la carpeta del proyecto ejecutar:

cargo run

Si todo ha ido bien, después de compilar el código se ejecutará la aplicación. El terminal quedará en espera mostrando el nombre de la aplicación y lema predefinidos.

Ahora abre un navegador en el mismo equipo y escribe http://localhost:8088 en la barra de direcciones. Y ya está, ¡la página de presentación de PageTop te dará la bienvenida!

Sin embargo, aún no hemos indicado a nuestra aplicación qué hacer. Si quieres saber más sobre el funcionamiento interno de las aplicaciones, continúa leyendo. De lo contrario, puedes ir a la siguiente página para aprender cómo añadir lógica a nuestra aplicación.

¿Qué hace una aplicación?

Como hemos visto, primero debemos instanciar la Aplicación. Podemos hacerlo con dos métodos, new(), que hemos usado en el ejemplo anterior, o prepare(), que veremos en la siguiente página. Ambos se encargan de iniciar los diferentes subsistemas de PageTop por este orden:

  1. Inicializa la traza de mensajes de registro y eventos.

  2. Valida el identificador global de idioma.

  3. Conecta con la base de datos.

  4. Registra los paquetes de la aplicación según sus dependencias internas.

  5. Registra las acciones de los paquetes.

  6. Inicializa los paquetes.

  7. Ejecuta las actualizaciones pendientes de la base de datos.

Pero no ejecuta la aplicación. Para eso se usa el método run(), que arranca el servidor web para empezar a responder las peticiones desde cualquier navegador.

Hablaremos más de todos estos subsistemas en próximas páginas. Mientras tanto, ¡vamos a añadir algo de lógica a nuestra aplicación creando un paquete con un nuevo servicio web!