I'm absolutely convinced that Xamarin could have been the platform of choice for cross-platform development. Had Microsoft bought them even one year sooner and made it part of MSDN, Ionic never would have needed to exist. I'm not complaining, as I love Ionic, but at the time I would have jumped at a .NET solution that didn't cost $1000/year/developer.