A Japanese language learning flashcard application built with Rust and Slint.
- Rust core logic for flashcard management and study mode
- Slint UI for cross-platform desktop and WebAssembly support
- Local JSON/Markdown persistence planned for flashcard data
- Rust 1.96.0 or later — Install from https://www.rust-lang.org/tools/install
- Slint — Integrated as a Cargo dependency; automatically downloaded during build
- Python 3 — Required for the web version; install and add
python3to your PATH - wasm-opt — Install with
cargo install wasm-optbefore using the web build
For detailed setup and troubleshooting, see the official Slint Rust documentation.
- Install Rust using the official installer from https://www.rust-lang.org/tools/install
- Clone this repository
- Run
cargo buildto build the Window desktop application - Run
cargo runto launch the Window desktop application
cargo run --bin japanese_learn
This builds and runs the native desktop application using Cargo.
Before running the web version, install the web prerequisites:
cargo install wasm-opt- Install Python 3 and ensure
python3is on your PATH
Then run:
wasm-pack build --release --target webpython3 -m http.server
This performs wasm-pack build, starts a local web server on port 8000, and you can open your browser at http://localhost:8000/.
Note: the Slint website suggestion to install only
wasm-packis not enough for this project;cargo install wasm-optis required for the web build.
Cargo.toml— Rust package manifestsrc/main.rs— application entry pointui/main_window.slint— Slint UI definition