Sign in

stackotter

@stackotter.dev
171 followers 179 following 178 posts

Aussie software developer & uni student; Rock climber; Loves Swift, Rust and Svelte; Creator of SwiftCrossUI, Swift Bundler and Delta Client. stackotter.dev mastodon.social/@stackotter

PostsRepliesMedia
Reposted by stackotter
moreSwift @moreswift.dev · 23h
SwiftCrossUI 0.10.0 is out now! The headline feature of this release is support for Observable, thanks to a first-time contributor s-k. Other than that, we've mostly been focusing on bug fixes and tech debt since 0.9.0. github.com/moreSwift/sw...
github.com
Release v0.10.0 · moreSwift/swift-cross-ui
The headline feature of this release is support for @Observable, introduced by first-time contributor @s-k who did all of the hard work implementing prototypes and exploring the solution space. I'm...
031
stackotter @stackotter.dev · 28/09/2026
I replied on Mastodon already of course, but in case anyone only sees this on BlueSky, SwiftCrossUI supports Observable as of two weeks ago!
011
stackotter @stackotter.dev · 08/09/2026
The team's finances are handled by the University of Queensland, so you can trust that they're being used responsibly. Please DM me or email me at stackotter@stackotter.dev if your company would be interested in sponsoring this amazing team of young cybersecurity talent.
001
stackotter @stackotter.dev · 08/09/2026
Our players were selected using Team Oceania's annual online qualifiers, and are hackers of a high calibre. See our sponsorship prospectus for more details: ecsc.oceaniacc.com/attachments/...
ecsc.oceaniacc.com
100
stackotter @stackotter.dev · 08/09/2026
Team Australia is seeking sponsors to support the team at the European Cybersecurity Challenge in Germany this October. This is a great opportunity for international brand exposure, and for orgs to show that they value the next gen of Australia's cybersecurity workforce.
100
stackotter @stackotter.dev · 20/08/2026
Even my VMs can't escape Windows updates 💀 My remote build job froze, and when I switched over to my PC's HDMI I found that the VM had restarted for a Windows update
000
stackotter @stackotter.dev · 19/08/2026
I haven't looked it for a while, so I can't really remember, but Swift is just a more expressive language than C, so I reckon there'll be some ways to wrap things that make them more ergonomic to use from Swift than they were to use from C
000
stackotter @stackotter.dev · 18/08/2026
My wrapper is currently very single-focus, because I made it for a simple music player app, but Ideally it'd wrap the vast majority of miniaudio's surface. And I'd like to provide helpful utilities on top of miniaudio's more terse APIs
010
stackotter @stackotter.dev · 17/08/2026
And I already have a very basic Swift wrapper for miniaudio
100
stackotter @stackotter.dev · 17/08/2026
Yeah definitely! There'd be some interesting library development work to be done in that space as well, to make working with audio possible without writing everything multiple times. It'd likely live outside of SwiftCrossUI (because it's not UI). miniaudio would probably be a good starting point
100
stackotter @stackotter.dev · 17/08/2026
If you have an app in mind that you would like to see ported, please let me know! Here's the diff of the ZenTime port: github.com/stackotter/Z...
github.com
Initial SwiftCrossUI port by stackotter · Pull Request #1 · stackotter/ZenTime-scui
This PR ports ZenTime to SwiftCrossUI. It also replaces the xcodeproj with a Swift Bundler project so that the project can be developed with and built for non-Apple operating systems (in this case ...
000
stackotter @stackotter.dev · 17/08/2026
I've recently been searching around for open source SwiftUI apps to port to non-Apple platforms using SwiftCrossUI. Mostly as an exercise to discover the needs of real world apps, but also to bring existing macOS apps to more platforms! I've begun by porting ZenTime (an exam study timer)
252
stackotter @stackotter.dev · 25/07/2026
An RSS reader of some description would definitely be possible, but in an ideal world would probably require us to add rich text support first.
000
stackotter @stackotter.dev · 25/07/2026
Our Linux support is very good. The Gtk 4 backend was actually our first backend, with the AppKit backend (and others) coming later
120
stackotter @stackotter.dev · 22/07/2026
We’ve supported Mac and Windows for much longer than Android and iOS, so support for both is relatively mature. macOS is our best supported platform. Windows is still Windows, so there are definitely caveats for certain features. What’s the nature of the hobby projects?
110
Reposted by stackotter
Miguel de Icaza @migueldeicaza.bsky.social · 20/07/2026
Xmas time
051
stackotter @stackotter.dev · 20/07/2026
I'm looking to learn about the requirements of real development teams. I'm available at stackotter@stackotter.dev.
000
stackotter @stackotter.dev · 20/07/2026
SwiftCrossUI's Android support is quickly catching up with its iOS support, and it's becoming possible to build genuinely useful UIs for all major platforms with SCUI. If you know a software company or app dev firm that might be interested in experimenting with SwiftCrossUI, please hook me up!
273
stackotter @stackotter.dev · 10/07/2026
SwiftCrossUI's Android support has gotten to the point where my sudoku app written with SwiftCrossUI runs on Android without any UI-specific code changes! (I just had to work around a weird HTTPS issue unrelated to SwiftCrossUI)
030
stackotter @stackotter.dev · 02/07/2026
SwiftCrossUI v0.8.0 is out now! In this release we've mostly been working on Android support, and fixing bugs. This release also includes moreSwift’s new LLM policy (LLM_POLICY.md) for contributors and community members, which is particularly topical in current times. github.com/moreSwift/sw...
github.com
Release v0.8.0 · moreSwift/swift-cross-ui
In this release we've mostly been working on Android support, and fixing bugs. We've also been working on various other features in the background that haven't landed yet. On the admin side of thin...
121
stackotter @stackotter.dev · 08/06/2026
I've just published the February and March SwiftCrossUI development update video. It was a bit delayed, so some of the information has been superseded since filming, but it should be interesting nonetheless! youtu.be/RzT7_priAE8
youtu.be
SwiftCrossUI Development Update (Feb & March 2026)
YouTube video by moreSwift
010
stackotter @stackotter.dev · 07/06/2026
SwiftCrossUI 0.7.0 introduced support for hot reloading on Linux! If you'd like to try it out, install the latest commit of Swift Bundler, and create a new project from the SwiftCrossUI hot reloading template. Then you can run the project with the ‘--hot’ flag, and everything should "just work” (TM)
042
stackotter @stackotter.dev · 04/06/2026
Much of my recent work has been supported by @videovillage.com, meaning that for now funds will mostly go to moreSwift’s external core contributors (who have so far done everything for the love of open source ❤️).
010
stackotter @stackotter.dev · 04/06/2026
moreSwift just joined Open Source Collective 🎉 If you've ever considered sponsoring the development of SwiftCrossUI or Swift Bundler, there's never been a better time! opencollective.com/moreswift
opencollective.com
moreSwift - Open Collective
moreSwift enables developers to build cross platform apps with Swift. We maintain SwiftCrossUI and Swift Bundler.
132
stackotter @stackotter.dev · 02/06/2026
SwiftCrossUI's Counter example used to take up 360mb on Windows and now it uses 144mb (including the Windows app runtime installer).
020
stackotter @stackotter.dev · 02/06/2026
Windows apps built with SwiftCrossUI are now 200mb smaller! 🎉 SwiftPM's static linking support has recently improved on Windows, allowing me to merge swift-winui and all of its dependencies into a single monorepo with static linking. Static linking lets the linker drop a lot of unused code.
151
stackotter @stackotter.dev · 25/05/2026
SwiftCrossUI's AndroidBackend now supports sheets thanks to Beberka! github.com/moreSwift/sw...
030
stackotter @stackotter.dev · 15/05/2026
If you want to learn more about her process creating the package, go read her Swift Forums post; forums.swift.org/t/keyringacc...
forums.swift.org
KeyringAccess: A simple, pure Swift way to store sensitive data in Linux Apps
Repository Link TLDR If you needed a simple way to securely store credentials from your app on desktop linux, without system dependencies, here you go. Why The Swift ecosystem for apps on Apple devi...
021
stackotter @stackotter.dev · 15/05/2026
Mia Koring (a frequent SwiftCrossUI contributor) just released KeyringAccess, essentially KeychainAccess for Linux! Packages like KeyringAccess help to reduce the barrier for porting macOS apps to Linux github.com/amethystsoft...
github.com
GitHub - amethystsoft/KeyringAccess: Pure Swift implementation of the Secret Service API on Linux, both high and low level APIs available
Pure Swift implementation of the Secret Service API on Linux, both high and low level APIs available - amethystsoft/KeyringAccess
120
stackotter @stackotter.dev · 14/05/2026
The new DocC tutorials are hosted under the Meeting SwiftCrossUI page of our documentation site; docs.swiftcrossui.dev/tutorials/ta...
docs.swiftcrossui.dev
Documentation
000
stackotter @stackotter.dev · 14/05/2026
SwiftCrossUI v0.6.0 is out now. This release brings a ton of Android feature parity improvements thanks to Beberka, and Gradient support thanks to Mia Koring! This release also includes the new DocC tutorials that Kaleb Ascevich created from our existing how-to guides. github.com/moreSwift/sw...
github.com
Release v0.6.0 · moreSwift/swift-cross-ui
This release brings a whole host of AndroidBackend feature parity improvements—mostly thanks to @bbrk24—and gradient support thanks to @MiaKoring! And on the documentation side of things, @kaascevi...
110
stackotter @stackotter.dev · 09/05/2026
Thanks to Mia Koring, SwiftCrossUI now support gradients! (linear, radial, and angular/conical) github.com/moreSwift/sw...
130
stackotter @stackotter.dev · 08/05/2026
I've been working on SwiftCrossUI for ages and I still refer back to our Swift dev environment setup guides occasionally when setting up new VMs and machines (particularly when they're running Windows), so I hope others will enjoy them too; even more so now that they're visually easier to follow!
000
stackotter @stackotter.dev · 08/05/2026
Kaleb Ascevich recently converted SwiftCrossUI's quick start documentation and platform-specific setup guides into DocC tutorials, with screenshots and all! github.com/moreSwift/sw...
100
stackotter @stackotter.dev · 07/05/2026
SwiftCrossUI now supports WebViews on Android thanks to Beberka’s recent PR! github.com/moreSwift/sw...
010
stackotter @stackotter.dev · 07/05/2026
This has made it much easier to implement new backends incrementally, and makes it possible to implement missing backend features from application code 👀 The PR was a monster to review, but was totally worth it: github.com/moreSwift/sw...
github.com
010
stackotter @stackotter.dev · 07/05/2026
I've recently merged some big AppBackend protocol changes into SwiftCrossUI. Kaleb Ascevich, who first contributed to SCUI earlier this year, refactored the 2000-line protocol into about 3 dozen smaller protocols, roughly separating the API surface by feature.
120
stackotter @stackotter.dev · 06/05/2026
Thanks!
000
stackotter @stackotter.dev · 06/05/2026
Switching to a custom ViewGroup implementation brought the offending measurement pass from ~400ms down to ~7ms; github.com/moreSwift/sw...
github.com
AndroidBackend: Switch to custom container (RelativeLayout too slow) by stackotter · Pull Request #550 · moreSwift/swift-cross-ui
RelativeLayout's onMeasure implementation has a branching factor of 2, leading to Android's measurement pass being exponential with regard to the depth of the SwiftCrossUI view hierarchy. T...
020
stackotter @stackotter.dev · 06/05/2026
SwiftCrossUI's AndroidBackend has been hanging for a few hundred milliseconds after each view update, so Beberka collected a flame graph to investigate. It turns out, Android's RelativeLayout view measures each child twice per measurement pass, leading to exponential time complexity when nested!
210
stackotter @stackotter.dev · 05/05/2026
The SwiftCrossUI ControlsExample is starting to look a lot more complete on Android thanks to Beberka's recent AndroidBackend PRs! Pickers: github.com/moreSwift/sw... Toggle buttons, switches, and checkboxes: github.com/moreSwift/sw...
020
stackotter @stackotter.dev · 04/05/2026
I've based the APIs off SwiftUI's draggable and dropDestination view modifiers. Draft PR: github.com/moreSwift/sw...
github.com
Implement basic drag and drop APIs by stackotter · Pull Request #547 · moreSwift/swift-cross-ui
This PR introduces basic versions of SwiftUI's Transferrable-based drag and drop APIs. A proper Transferrable implementation is left for a future PR, as it would be rather involved. For now we&...
000
stackotter @stackotter.dev · 04/05/2026
Worked on implementing basic drag and drop for SwiftCrossUI today, and it's coming along well! But there are still quite a few edge cases to iron out. Content types are hard to pin down, and abstracting over 5 different platforms makes things rather tedious.
130
stackotter @stackotter.dev · 29/04/2026
The Android backend is very simple for now, as laying solid groundwork has taken quite a bit of time, but future feature support improvements should become progressively faster.
020
stackotter @stackotter.dev · 29/04/2026
SwiftCrossUI v0.5.0 is out now, with a very basic Android backend 👀 Using the Android backend requires using the main branch of Swift Bundler (which supports compiling Swift apps to Android APKs and managing Android devices/emulators). github.com/moreSwift/sw...
github.com
Release v0.5.0 · moreSwift/swift-cross-ui
The headline feature of this release is the new AndroidBackend (which is still in a very early stage; so far most of what I've done has been laying the groundwork). My focus has mostly been on Swif...
172
stackotter @stackotter.dev · 27/03/2026
I've updated the SwiftCrossUI repository to publish its docs to GitHub Pages via the deploy-pages GitHub action instead of writing them to the gh-pages branch. The repository used to take 2.5 minutes to clone on my home WiFi, and after deleting the gh-pages branch it now takes under 2 seconds 🎉
030
stackotter @stackotter.dev · 20/03/2026
Development has been a little bit quiet since v0.2.1 (around 2 weeks ago) because I've been focussing more on Swift Bundler, in particular getting it ready for its v3.0.0 release, and improving Windows support.
000
stackotter @stackotter.dev · 20/03/2026
SwiftCrossUI v0.3.0 brings a few SwiftUI feature parity improvements, some bug fixes, and perhaps most notably for users, a huge amount of documentation improvements by Kaleb Ascevich. github.com/moreSwift/sw...
github.com
Release v0.3.0 · moreSwift/swift-cross-ui
Development has been a little bit quiet since v0.2.1 (around 2 weeks ago) because I've been focussing much more on Swift Bundler, in particular getting it ready for its v3.0.0 release, and improvin...
120
stackotter @stackotter.dev · 04/03/2026
I've just released SwiftCrossUI v0.2.0 (two and a half years after v0.1.0), and I'm aiming to begin making regular releases now that I'm focusing on SwiftCrossUI full time. 492 commits, 127 PRs, and 77k changed lines. github.com/moreSwift/sw...
github.com
Release v0.2.0 - 2.5 years later · moreSwift/swift-cross-ui
Overview The headline feature of the past 2.5 years of work is probably the new layout system for most users. It standardizes layout behaviour across all backends, making it much easier to make you...
173
stackotter @stackotter.dev · 18/02/2026
If you'd like to try it out, follow the Swift Android getting started guide, then use the command in the screenshot to build SwiftCrossUI's CounterExample (on the android_support branch); www.swift.org/documentatio...
swift.org
Swift.org
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
010