Our great sponsors
-
macos-virtualbox
Discontinued Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
alchemy
An experimental GUI framework for Rust, backed by per-platform native widgets. React, AppKit/UIKit inspired. EXPERIMENTAL, runs on Cocoa right now. ;P
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
https://github.com/myspaghetti/macos-virtualbox is a script to install osx in a vm, since it's a tricky process to do fully manually
i used this when i needed to download a macOS version to hackintosh a laptop, worked pretty well for me then
Ah, yes - though I think we're still ultimately after the same thing. Cacao, while it tries to unify AppKit/UIKit APIs, more or less treats UIKit APIs as the "blessed" ones. A good example is the ListView component, which pretty much limits an NSTableView to the style and such that you'd find over on UITableView. cacao just has more working AppKit code due to it being originally the basis for alchemy.
Nice! Welcome to the small group of rust iOS people! I'm the author of uikit-sys which really is just using the rarely used objective-c features of bindgen (plus an unmerged PR to bindgen) to generate bindings to to basically all the iOS objective-c frameworks.
Under the hood, this should work quite well with our entities and components approach, as discussed by u/sapphic-alchemy :) Meatball's ui4 experiments take things in this direction, and seem like a solid proof of concept.
I think code generation is the way to go, at least for the initial version. Apple has quite a lot of APIs, creating bindings manually is a huge undertaking. Another idea I have is to generate Rust bindings from Xamarin source code https://github.com/xamarin/xamarin-macios/tree/main/src. Xamarin has a very good coverage of the API surface, and might be even easier than generating from raw Apple's header files.