4 ms·
Jetpack Compose (Google's alternative on Android, that also works pretty much anywhere you can run a JVM and others like the web [1], terminals[2], powerpoints[
by ohgodplsno 4y ago
Jetpack Compose (Google's alternative on Android, that also works pretty much anywhere you can run a JVM and others like the web [1], terminals[2], powerpoints[3], iOS[4] if you squint, as well as pretty much anywhere you have an imperative API that you want to transform into a functional model[5]) is three years old and is infinitely more polished and has better tools than anything Apple has put out in all of SwiftUI's existence. Apple is bringing this upon themselves with their "major updates" concept for SwiftUI coming every other year, where components aren't even available on old versions of iOS. A UI toolkit is a library like any other, version it like a library and match patch releases.
[1] https://compose-web.ui.pages.jetbrains.team/ https://compose-web.ui.pages.jetbrains.team/
[2] https://github.com/JakeWharton/mosaic https://github.com/JakeWharton/mosaic
[3] https://github.com/fgiris/composePPT https://github.com/fgiris/composePPT
[4] https://touchlab.co/compose-ui-for-ios/ https://touchlab.co/compose-ui-for-ios/
[5] https://github.com/googlemaps/android-maps-compose https://github.com/googlemaps/android-maps-compose
- kitsunesoba 4y agoIIRC the reason why SwiftUI isn’t a separate library is that it’s developed in lockstep with Swift, meaning that each release is dependent on new features in its contemporary release of Swift. That’s a problem because they stopped building Swift into third party app packages a few years ago in effort to bring down app download sizes, but that means that apps have to deal with whatever version of Swift comes with the user’s system. The best middle ground would probably be to ship Swift as a periodically updated package.
- pohuing 4y agoCouldn't they just separate swift runtimes from the os updates? I'm always baffled by how often features are tied to seemingly random os versions. For example: You can't debug IOS 14.5 apps on Big Sur because Xcode for some reason needs Monterey. Though if you just spoof the required version in the xip's app manifest it'll work mostly fine.