GiCode
All posts
TechRust

The stack: Tauri 2, Rust and libgit2 on iPhone

What GiCode is built from – and why the interface gets by without a UI framework.

GiCode feels native, but it is a mix of a web UI, Rust and some Swift. These are the layers:

  • Shell: Tauri 2 with WKWebView.
  • UI: TypeScript and plain DOM, no framework. The editor is CodeMirror 6, built with Vite.
  • Git: libgit2 through the Rust crate git2, with vendored OpenSSL and libssh2.
  • Services: reqwest for the GitHub and GitLab REST APIs.
  • Native: Swift for StoreKit 2 and the Files app extension, plus an Objective-C bridge.
  • Secrets: the iOS Keychain.

Why no framework?

The app should start fast and use little memory. Plain DOM keeps the UI small; the effort goes where it belongs: into Git and the editor.