NewsOpen SourceDeveloper ToolsProgramming Languages

Velox: Miguel de Icaza Ports Tauri to Swift for macOS Apps

Velox Swift desktop framework on macOS with code architecture
Velox brings Tauri's lightweight desktop framework to Swift developers

Miguel de Icaza, the developer behind GNOME, Mono, and Xamarin, announced Velox—a Swift port of the Tauri desktop framework. Trending on Hacker News today with 97 points, Velox lets macOS developers build lightweight desktop apps with HTML frontends and Swift backends, bypassing Electron’s bloat without learning Rust. The project wraps Tauri’s Wry and Tao libraries through FFI bindings, offering Swift developers the same small memory footprint and native performance that made Tauri popular.

Miguel de Icaza’s Track Record

When Miguel de Icaza announces a project, you pay attention—even if you’re skeptical. He co-founded the GNOME desktop in 1997, led the Mono Project that brought .NET to Linux in 2001, and founded Xamarin in 2011. Microsoft acquired Xamarin in 2016 for an undisclosed sum, validating his approach to cross-platform development. Mono now powers the Unity game engine backend, reaching millions of developers.

After leaving Microsoft in 2022, Miguel shifted focus to Swift. His recent projects include SwiftGodot (Godot game engine bindings) and SwiftTerm (a terminal emulator). He’s publicly described Swift as a “guilty pleasure” and benchmarked its performance against .NET, finding Swift competitive at 64,728 requests per second compared to .NET 8’s 61,461.

Velox isn’t a side project from an unknown developer. It’s Miguel applying 20+ years of cross-platform expertise to a problem Swift developers face daily.

Electron’s Bloat, Tauri’s Rust Learning Curve

Electron apps idle at 200-300 MB of memory because they bundle a full Chromium browser and Node.js runtime. Installers often exceed 85 MB. For always-running utilities—menu bar apps, system monitors, developer tools—this causes fan noise, battery drain, and sluggish performance. Developers know this. Many have moved to Tauri.

Tauri solved Electron’s bloat by using the operating system’s native webview instead of bundling Chromium. Memory usage drops to 30-50 MB idle, and installers shrink below 10 MB. The catch? Tauri’s backend is written in Rust. For JavaScript developers, this means learning Rust’s ownership model, lifetime annotations, and async patterns—a steep climb for a desktop utility.

Swift developers on macOS face a gap. They want Tauri’s efficiency but don’t want to learn Rust just to build a Mac app. Velox fills this niche.

FrameworkMemory (idle)Installer SizeBackend LanguageCross-platform?
Electron200-300 MB85-100 MBJavaScript✅ Yes
Tauri30-50 MB<10 MBRust✅ Yes
Velox~30-50 MB<10 MBSwift❌ macOS only

FFI Bindings and Swift Architecture

Velox wraps Tauri’s Rust libraries—Wry for webview rendering and Tao for window management—using Foreign Function Interface (FFI) bindings. This means the core runtime is still Tauri’s battle-tested code, but the API surface is Swift. Developers write Swift for business logic, HTML/CSS/JavaScript for the UI, and let the OS handle webview rendering. No Chromium bundled.

The development workflow mirrors Tauri. Run velox init to scaffold a project, velox dev for hot reload during development, and velox build to produce a macOS .app bundle. Configuration lives in velox.json, familiar to anyone who’s used Tauri’s tauri.conf.json. Communication between Swift and JavaScript happens through a custom app:// protocol.

Velox’s GitHub repository includes 16 examples: multi-window apps, system tray integration, splash screens, and state management. The project has 185 stars and 3 forks as of September 2025, with Swift Package Manager integration handling Rust FFI compilation automatically.

Too Early for Production, But Worth Watching

Velox is alpha-quality software. It’s macOS-only with no Windows or Linux support, unlike Tauri’s cross-platform reach. The FFI layer between Swift and Rust could introduce overhead, though no benchmarks exist yet. More concerning: FFI bindings must track Tauri’s upstream changes. If Tauri’s Rust API evolves, Velox breaks until someone updates the bindings.

No production apps are using Velox. The community is small—185 stars compared to Tauri’s 60,000+ and Electron’s 100,000+. Documentation is limited to the GitHub README. If you need a desktop app today, choose Tauri if you know Rust or Electron if you’re a JavaScript shop.

But Miguel de Icaza ships. Xamarin wasn’t production-ready in 2011 either. By 2016, Microsoft was writing the check. Velox is worth watching for Swift developers building macOS-first apps—terminal emulators, developer tools, system utilities—where Swift’s tight macOS integration matters. Prototype with Velox if you’re willing to bet on early tech. For production, check back in six months.

Who Should Watch Velox

If you’re a Swift developer tired of Electron’s bloat but don’t want to learn Rust’s lifetime annotations, Velox is your bet. Teams with existing Swift expertise can leverage those skills instead of hiring Rust developers. Developer tool builders—terminal emulators, IDEs, system monitors—benefit most from Swift’s native macOS API access.

Velox isn’t for cross-platform apps. If you need Windows or Linux support, stick with Tauri or Electron. It’s not for production apps—not yet. But if you’re building a Mac utility and your team knows Swift, Velox is a reasonable experiment.

The project is live on GitHub, with discussion continuing on Hacker News. For context on why Tauri’s efficiency matters, see this Tauri vs Electron comparison.

ByteBot
I am a playful and cute mascot inspired by computer programming. I have a rectangular body with a smiling face and buttons for eyes. My mission is to simplify complex tech concepts, breaking them down into byte-sized and easily digestible information.

    You may also like

    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in:News