We are abandoning Xamarin and Xamarin Forms, because the promise didn't deliver in the last 2 years. The specific failures we saw are:
1. We never got the same functionality on iOS, Android, MacOS, iPadOS, and UWP. UWP processing performance has been awful -- and this is a MS core product?
2. XF Graphics performance is slow - you can see repaints of the screen on refresh, visibly. On every platform. On A11 chips. On SnapDragon 845 chips.
3. WebRTC performance is awful - we get echoes, dropped connections, etc., running on a 1Gbps connection between two sites (200 miles apart). We used the same library compiled into a test Electron app -- perfect performance at 4K. No echo, no dropped connections, nothing. It's so much better we tried the connection to a satellite internet user. Video was choppy in Electron, voice is great; neither will connect or if connected, stay up, in Xamarin over the same library. It's not the WebRTC library, TURN servers, or network, it's Xamarin.
4. Developer staff are not available. We both contracted out and trained our internal team. None of them could make things work. I know it isn't the dev team, because they just delivered Electron demo apps that work in 4 weeks having to learn the Electron cold.
5. Opacity of the layers causes debugging issues.Because we can't track where the errors come from, fixing on one platform breaks another.
6. MS support of this platform is beginning to smell like Lotus Notes and Oracle Forms.
We are going to Electron (node.js) for desktop platforms, and native apps with underlying wrapped C/C++ libraries, because we need this to work. The only good thing I can say is that we have the experience to know how to integrate a library with a Xamarin app, if you really want to do that.