@Alonely0 Agreed. Rust's ecosystem is dramatically broader, and Swift and Rust are converging in language features anyway.
After porting the project to Swift, Rust now looks like the wiser choice, especially if we're heading toward a world where languages don’t need to be easy so much as correct, fast, and backed by large, battle-tested ecosystems.
I thought about writing the low-level parts in #Rust and then binding a high-level #Swift API on top.
But #GPUI for example all closures and borrowed state. Doesn't cross language boundaries well.
So if I actually want Swift, there’s no real GPUI alternative. Which means rebuilding a similar API on top of Skia.
And that means… way more code. Code I now have to maintain. I'm in limbo.
Many components still don't work properly, but we're close to parity with the Rust version.
Anyone wants to port a simple macOS app to Linux? Be my alpha tester.
I'm in Swift bindings hell.
Skia bindings implemented. Yoga bindings implemented. wlroots bindings implemented. libinput bindings implemented.
I'm so close to rendering a window surface!
My Ghostty shell froze for weeks.
It turned out Ghostty reloads its config, which reloads fish, which runs nvm, which costs ~500ms.
Lazy-loading nvm fixed it.