3 ms·
> something like SwiftUI one thing im having a hard time wrapping my mind around is, if swiftui depends on (please correct me if im wrong) the swift compiler i
by andrekandre 6y ago
> something like SwiftUI
one thing im having a hard time wrapping my mind around is, if swiftui depends on (please correct me if im wrong) the swift compiler itself and emited static type information from that compiler, how can rust build an interface to that easily?
it seems like you'd have to make some kind of wrapper lib that emits extern c interfaces that take and return `AnyView` and thereby hurting performance...?
- pjmlp 6y agoBy having macros that produce the required information, similar to how Qt, wxWidgets do it, and Rust/WinRT is in the process of doing. https://github.com/microsoft/winrt-rs https://github.com/microsoft/winrt-rs But that is the easy part, the hard part is having the ability to plug a widget anywhere on the tree without triggering a bunch of lifetime errors. WinRT gets around this because it is built on COM, so you get reference counting no matter what.
- andrekandre 6y agointeresting... though since winrt is c/c++ based its probably easier for rust to interface with, guessing... but afaik with swift there is static type information encoded at the binary level that swiftui (e.g `some View`) utilizes to do type-based tree diffing, so i wondered how rust can generate that, even with macros... maybe im mistaken though! (thanks for the reply btw)