We believe that apps should use fully native UI, so Skip doesn't strive for pixel equivalence. Nevertheless, we recently updated our Android #SwiftUI support to match iOS a little more. Thread on the recent tweaks and their #JetpackCompose implementations

https://skip.tools

Skip

Skip brings SwiftUI app development to Android

Skip

1. We made expanded top bar titles more prominent

Compose's MediumTopAppBar doesn't support expanded-only font customization, so we place it in a MaterialTheme { ... } with custom typography that re-maps the headlineSmall font that MediumTopAppBar uses in the expanded state

2. We rounded the corners on inset list sections

We overlay the edges of the top item and bottom items with a custom Shape: a filled rect that's "punched out" by another rect with rounded top or bottom corners:

combine(PathOperation.Difference, rectPath, roundedRectPath)

3. We tightened up the padding around Text elements

Compose naturally pads Text to the line height, but SwiftUI does not. We add a custom LineHeightStyle to our TextStyle that trims padding

We made some other minor tweaks too, as well as some nice enhancements to our SwiftUI support that we may post about soon. Enjoy!

@skiptools The best job I can do as an app developer is to be a human transpiler. You've replaced me. ☠️ ☠️ ☠️

@JonathanGerlach But… what are you transpiling from?

And hey, according to the internets, AI will be replacing all our jobs soon anyway!

@skiptools I manually rewrite UIKit MVVM code into the Android equivalent. I plan to do this with SwiftUI and Jetpack Compose in the future.
@JonathanGerlach Ha, well, when you’re rewriting the SwiftUI to Compose, maybe you can just sneak Skip into the project and save yourself a ton of time!