5 ms·
One thing I am a bit upset is how Apple approaches SwiftUI / Combine, as these two to me, are foundational pieces to the Swift language ecosystem. Particularly:
by liuliu 6y ago
One thing I am a bit upset is how Apple approaches SwiftUI / Combine, as these two to me, are foundational pieces to the Swift language ecosystem. Particularly:
1. There is no way to bundle SwiftUI / Combine to the app so you can ship to earlier iOS versions, making development exclusively done on newer OS version. More over, for any bug fixes on SwiftUI / Combine, you have to wait for the OS updates for the fix. Just updating your Xcode is not enough.
2. While the SwiftUI required language features are all upstreamed to Swift language, and core developers have been patient to articulate why. If SwiftUI / Combine development was done in public (i.e. open-source), bug-fixes and language improvements will be much smoother.
To Apple, point 2 probably is a big leap. But they've done Swift open-source release, and it works relatively well with a sizeable open-source ecosystem on other platforms now.
- valuearb 6y agoI missed WWDC 2019, was working in an entirely different field. And wow, I can’t believe I missed this. https://developer.apple.com/documentation/combine https://developer.apple.com/documentation/combine Unfortunately my client’s App still requires iOS 11.
- Nullabillity 6y agoGuess they finally discovered Rx. And still screwed it up.
- saagarjha 6y agoPerhaps you should mention what they did wrong, instead of being snarky?
- codnee 6y agoIf you are interested in Combine but need to support older versions of iOS, you might want to check out https://github.com/OpenCombine/OpenCombine https://github.com/OpenCombine/OpenCombine
- mayoff 6y agoCombineX was more complete last I checked. https://github.com/cx-org/CombineX https://github.com/cx-org/CombineX
- justAnotherNET 6y agoI can say #1 has significantly impacted Swift feature adoption and SwiftUI conversion. SwiftUI 2 for example, the first really useable one IMO, requires iOS14 as your projects minimum.