AbstractOS

Search documentation

Find a docs page

Developer guideApp development

Your first app

Create, run and package an adaptive AbstractOS app with the abstract CLI.

Apps are written with AbstractKit, a set of adaptive widgets on top of GTK 4. You can use Rust, Python, Vala or JavaScript.

Create a project

bash
abstract new hello --lang rust
cd hello
abstract run --form-factor phone

The app window

use abstract_kit::prelude::*;

fn main() -> glib::ExitCode {
    let app = Application::new("org.example.Hello");
    app.connect_activate(|app| {
        let window = AdaptiveWindow::builder()
            .application(app)
            .title("Hello")
            .content(&Label::new(Some("Hello, AbstractOS")))
            .build();
        window.present();
    });
    app.run()
}

App manifest

app.toml
[app]
id = "org.example.Hello"
name = "Hello"
version = "0.1.0"
form_factors = ["phone", "tablet", "desktop"]

[permissions]
network = false
files = "portal"
Last updated Edit this page on GitLab