I firmly don't believe they're changing frameworks to "provide platform lockin".
Development philosophies change over time, like the other's said, some of those UI frameworks you mentioned are 20+ years old.
It does suck that we can't use it on other platforms, and I'm sure they don't want to spend resources on doing so, but there's no way the main motivation is to keep people switching frameworks constantly.
That's certainly not why the programmers involved do it, they do it to improve things, but the effect is platform lockin, which is not at all unwelcome for platform vendors and I suspect is why the companies are quite happy with constant churn in languages and tools. I'm not suggesting that is 'why they do it' just that it is a strong incentive to keep doing it.
If they don't control the language and tools for the platform, they don't control the platform.
Development philosophies change over time, like the other's said, some of those UI frameworks you mentioned are 20+ years old.
It does suck that we can't use it on other platforms, and I'm sure they don't want to spend resources on doing so, but there's no way the main motivation is to keep people switching frameworks constantly.