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:
reqwestfor 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.
