In any case it's good that different projects are approaching this from different angles.
In any case it's good that different projects are approaching this from different angles.
Any widget toolkit, on any platform ever, that has tried to provide it's own cross-platform widgets, has been completely terrible and ends up being native-nowhere instead of native-everywhere.
Or back to pure native.
It just so happens that I've found RN (React Native) to be the nicest improvement, to my taste. Simple unidirectional data flow & UI state being a simple function of app state make for a beautifully clean and unambiguous model for how everything fits together.
One can argue the costs and benefits of app architectures all day, but there's really no substitute for trying them out, for the sake of curiosity & learning. All the devs I know who have written RN groan a bit when they're back in iOS and/or Android native development, and absolutely not because they love javascript!
Check out Andy Matuschak's celebrated Tweet on RN (https://twitter.com/andy_matuschak/status/560511204867575808). I point to it not as an argument from authority. But if one of the people who wrote UIKit thinks RN's model is the superior one, surely that should pique curiosity just a bit?
> Are you suggesting React solves the programming language problem completely
I'm not sure what you're getting at here. What 'programming language problem'? And why would an improvement have to solve something 'completely' to be of value?
Not an iOS expert (I work on Android) but can't you have this in native in the first place ? Many Android apps are already using this kind of arch without React Native. I don't see why it can't be the same on iOS.
Have a look at my parent post -- what I was expressing a wish for was a cross-platform Kotlin library implementing RN-like UI rendering. I'd love to get a combination of the benefits of the RN approach, but written natively in Kotlin.
Only need the SDK tooling, without being forced to debug extra layers of third party tools.
Using extra, non official language X usually overshadows the extra debugging and configuration efforts of adding yet another layer into the overall architecture.